Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data ForwardSink lo = ForwardSink {
- forwardQueue :: !(TVar (TBQueue lo))
- disconnectedSize :: !Word
- connectedSize :: !Word
- wasUsed :: !(TVar Bool)
- overflowCallback :: !([lo] -> IO ())
- initForwardSink :: ForwarderConfiguration lo -> ([lo] -> IO ()) -> IO (ForwardSink lo)
- writeToSink :: ForwardSink lo -> lo -> IO ()
- readFromSink :: ForwardSink lo -> TraceObjectForwarder lo IO ()
- getTraceObjectsFromReply :: BlockingReplyList blocking lo -> [lo]
Documentation
data ForwardSink lo Source #
ForwardSink | |
|
initForwardSink :: ForwarderConfiguration lo -> ([lo] -> IO ()) -> IO (ForwardSink lo) Source #
writeToSink :: ForwardSink lo -> lo -> IO () Source #
There are 4 possible cases when we try to write tracing item: 1. The queue is still empty (no tracing items were written in it). 2. The queue is already empty (all previously written items were taken from it). 3. The queue is full. In this case flush all tracing items to stdout and continue. 4. The queue isn't empty and isn't full. Just continue writing.
:: ForwardSink lo | The sink contains the queue we read |
-> TraceObjectForwarder lo IO () |
getTraceObjectsFromReply Source #
:: BlockingReplyList blocking lo | The reply with list of |
-> [lo] |