Пример #1
0
 IChannel EnsureChannel(bool callOnClientMinimalFilterChanged = true)
 {
     if (_version != _curVersion)
     {
         _channel = null;
         do
         {
             _curVersion = _version;
             if (_channel != null)
             {
                 _channel.CancelPreHandleLock();
             }
             // The Topic can be changed only in the
             // activity (and we are here inside the activity),
             // we can safely call the property when needed.
             // When ObtainChannel returns null, it means that the GrandOutput has been disposed.
             _channel = _central.ObtainChannel(_monitorSource.Topic);
             if (_channel == null)
             {
                 CheckFilter(callOnClientMinimalFilterChanged, LogFilter.Undefined);
                 return(null);
             }
         }while(_version != _curVersion);
         CheckFilter(callOnClientMinimalFilterChanged, _channel.MinimalFilter);
     }
     else
     {
         _channel.PreHandleLock();
     }
     return(_channel);
 }
Пример #2
0
 IChannel EnsureChannel( bool callOnClientMinimalFilterChanged = true )
 {
     if( _version != _curVersion )
     {
         _channel = null;
         do
         {
             _curVersion = _version;
             if( _channel != null )
             {
                 _channel.CancelPreHandleLock();
             }
             // The Topic can be changed only in the 
             // activity (and we are here inside the activity),
             // we can safely call the property when needed.
             // When ObtainChannel returns null, it means that the GrandOutput has been disposed.
             _channel = _central.ObtainChannel( _monitorSource.Topic );
             if( _channel == null )
             {
                 CheckFilter( callOnClientMinimalFilterChanged, LogFilter.Undefined );
                 return null;
             }
         }
         while( _version != _curVersion );
         CheckFilter( callOnClientMinimalFilterChanged, _channel.MinimalFilter );
     }
     else _channel.PreHandleLock();
     return _channel;
 }