private void Handle(TimeoutTimerMessage m)
{
lock (_waitingMap)
{
var now = DateTime.UtcNow;
var timeoutItems = _waitingMap.Where(i => (now - i.Value.Time) > _initiator.TokenTimeout).ToList();
foreach (var i in timeoutItems)
{
_waitingMap.Remove(i.Key);
if (i.Value.BindingActor.Item3.HasFlag(ActorBindingFlags.OpenThenNotification))
{
i.Value.BindingActor.Item1.Tell(new NotificationMessage
{
InvokePayload = new IActorBoundChannelObserver_PayloadTable.ChannelOpenTimeout_Invoke
{
tag = i.Value.Tag
},
});
}
}
}
}