private Receive WaitingForBound(IActorRef replyTo, IActorRef handler, Listen listen) { return(message => { if (message is Tcp.Bound) { var bound = message as Tcp.Bound; var promise = new TaskCompletionSource <IAssociationEventListener>(); promise.Task.PipeTo(handler); replyTo.Tell( Tuple.Create( new Address(AkkaIOTransport.Protocal, Context.System.Name, listen.Hostname, ((IPEndPoint)bound.LocalAddress).Port), promise)); UnbecomeStacked(); Stash.Unstash(); return true; } return Queue(message); }); }
private Receive WaitingForBound(IActorRef replyTo, IActorRef handler, Listen listen) { return message => { if (message is Tcp.Bound) { var bound = message as Tcp.Bound; var promise = new TaskCompletionSource<IAssociationEventListener>(); promise.Task.PipeTo(handler); replyTo.Tell( Tuple.Create( new Address(AkkaIOTransport.Protocal, Context.System.Name, listen.Hostname, ((IPEndPoint) bound.LocalAddress).Port), promise)); UnbecomeStacked(); Stash.Unstash(); return true; } return Queue(message); }; }