C# Class CK.Monitoring.Impl.BufferingChannel

This kind of channel is bound to a GrandOutputClient. It is returned by GrandOutput.ObtainChannel when a configuration is being applied.
Inheritance: IChannel, IDisposable
Mostra file Open project: Invenietis/ck-core Class Usage Examples

Private Properties

Property Type Description
BufferingChannel System
EnsureActive void
FlushBuffer void

Public Methods

Method Description
CancelPreHandleLock ( ) : void
Dispose ( ) : void
Handle ( GrandOutputEventInfo logEvent, bool sendToCommonSink ) : void
Initialize ( ) : void
PreHandleLock ( ) : void

Private Methods

Method Description
BufferingChannel ( EventDispatcher dispatcher, EventDispatcher commonSinkOnly ) : System
EnsureActive ( ) : void

Can be called either from GrandOutput.OnConfigurationClosing or from GrandOutput.ObtainChannel when the FlushLock is acquired. This sets the CountdownEvent to 1.

FlushBuffer ( IChannel>.Func newChannels ) : void

Flushes all buffered GrandOutputEventInfo into appropriate channels. It is called by the GrandOutput.OnConfigurationReady method to transfer buffered log events into the appropriate new routes. This is the only step during which a lock blocks GrandOutput.ObtainChannel calls.

Method Details

CancelPreHandleLock() public method

public CancelPreHandleLock ( ) : void
return void

Dispose() public method

public Dispose ( ) : void
return void

Handle() public method

public Handle ( GrandOutputEventInfo logEvent, bool sendToCommonSink ) : void
logEvent GrandOutputEventInfo
sendToCommonSink bool
return void

Initialize() public method

public Initialize ( ) : void
return void

PreHandleLock() public method

public PreHandleLock ( ) : void
return void