public ActorConnectorChannel(
            ActorDescription localActor, ActorTransportConnector remoteConnector,
            IActorMessageEncoder encoder, IActorMessageDecoder decoder)
        {
            if (localActor == null)
            {
                throw new ArgumentNullException("localActor");
            }
            if (remoteConnector == null)
            {
                throw new ArgumentNullException("remoteConnector");
            }
            if (encoder == null)
            {
                throw new ArgumentNullException("encoder");
            }
            if (decoder == null)
            {
                throw new ArgumentNullException("decoder");
            }

            _localActor = localActor;
            _connector  = remoteConnector;
            _encoder    = encoder;
            _decoder    = decoder;
        }
 public ActorConnectorReconnectableChannel(
     ActorDescription localActor, ActorTransportConnector remoteConnector,
     IActorMessageEncoder encoder, IActorMessageDecoder decoder)
     : base(localActor, remoteConnector, encoder, decoder)
 {
     this.RetryPeriod = TimeSpan.FromSeconds(15);
 }
        private IActorChannel BuildActorCenterChannel(ActorDescription centerActor, ActorDescription localActor)
        {
            IPAddress actorCenterAddress  = ResolveIPAddress(centerActor.Address);
            int       actorCenterPort     = int.Parse(centerActor.Port);
            var       actorCenterEndPoint = new IPEndPoint(actorCenterAddress, actorCenterPort);

            var centerConnector = new ActorTransportConnector(actorCenterEndPoint);
            var centerChannel   = new ActorConnectorReconnectableChannel(localActor, centerConnector, this.Encoder, this.Decoder);

            return(centerChannel);
        }