sync/spsc

Source   Edit  

Types

SpscReceiver[T] = object
  
Source   Edit  
SpscSender[T] = object
  
Source   Edit  

Procs

proc newSpscChannel[T](cap: int): (SpscSender[T], SpscReceiver[T])
Source   Edit  
proc newSpscReceiver[T](queue: sink SharedPtr[SpscQueue[T]]): SpscReceiver[T]
Source   Edit  
proc newSpscSender[T](queue: sink SharedPtr[SpscQueue[T]]): SpscSender[T]
Source   Edit  
proc tryRecv[T](self: SpscReceiver; dst: out T): bool {.inline.}
Source   Edit  
proc trySend[T](self: SpscSender; t: var Isolated[T]): bool {.inline.}
Source   Edit  

Templates

template trySend[T](self: SpscSender[T]; value: T): bool
Warning: Using this template in a loop causes multiple evaluations of value.
Source   Edit