private void Initializing()
{
Receive<EndpointManager.Send>(send => EnqueueInBuffer(send));
Receive<Status.Failure>(failure =>
{
if (failure.Cause is InvalidAssociationException)
{
PublishAndThrow(new InvalidAssociation(LocalAddress, RemoteAddress, failure.Cause),
LogLevel.WarningLevel);
}
else
{
PublishAndThrow(
new EndpointAssociationException(string.Format("Association failed with {0}",
RemoteAddress)), LogLevel.DebugLevel);
}
});
Receive<Handle>(handle =>
{
// Assert handle == None?
Context.Parent.Tell(
new ReliableDeliverySupervisor.GotUid((int)handle.ProtocolHandle.HandshakeInfo.Uid, RemoteAddress));
_handle = handle.ProtocolHandle;
_reader = StartReadEndpoint(_handle);
EventPublisher.NotifyListeners(new AssociatedEvent(LocalAddress, RemoteAddress, Inbound));
BecomeWritingOrSendBufferedMessages();
});
}