예제 #1
0
 internal void LeaveBottleneck(AmbientBottleneckAccessor ambientBottleneckAccess)
 {
     foreach (IAmbientBottleneckExitNotificationSink notificationSink in _notificationSinks)
     {
         notificationSink.BottleneckExited(ambientBottleneckAccess);
     }
 }
예제 #2
0
 public void BottleneckExited(AmbientBottleneckAccessor bottleneckAccessor)
 {
     foreach (IAmbientBottleneckExitNotificationSink notificationSink in _notificationSinks)
     {
         notificationSink.BottleneckExited(bottleneckAccessor);
     }
 }
예제 #3
0
        public AmbientBottleneckAccessor EnterBottleneck(AmbientBottleneck bottleneck)
        {
            AmbientBottleneckAccessor access = new AmbientBottleneckAccessor(this, bottleneck, AmbientClock.Ticks);

            foreach (IAmbientBottleneckExitNotificationSink notificationSink in _notificationSinks)
            {
                IAmbientBottleneckEnterNotificationSink?enterSink = notificationSink as IAmbientBottleneckEnterNotificationSink;
                enterSink?.BottleneckEntered(access);
            }
            return(access);
        }
예제 #4
0
 void IAmbientBottleneckExitNotificationSink.BottleneckExited(AmbientBottleneckAccessor bottleneckAccessor)
 {
     CallContextDistributor.BottleneckExited(bottleneckAccessor);
 }