Akka.Remote.Transport.AkkaPduProtobuffCodec.DecodeControlPdu C# (CSharp) Method

DecodeControlPdu() private method

private DecodeControlPdu ( AkkaControlMessage controlPdu ) : IAkkaPdu
controlPdu AkkaControlMessage
return IAkkaPdu
        private IAkkaPdu DecodeControlPdu(AkkaControlMessage controlPdu)
        {
            switch (controlPdu.CommandType)
            {
                case CommandType.ASSOCIATE:
                    if (controlPdu.HasHandshakeInfo)
                    {
                        var handshakeInfo = controlPdu.HandshakeInfo;
                        return new Associate(new HandshakeInfo(DecodeAddress(handshakeInfo.Origin), (int)handshakeInfo.Uid));
                    }
                    break;
                case CommandType.DISASSOCIATE:
                    return new Disassociate(DisassociateInfo.Unknown);
                case CommandType.DISASSOCIATE_QUARANTINED:
                    return new Disassociate(DisassociateInfo.Quarantined);
                case CommandType.DISASSOCIATE_SHUTTING_DOWN:
                    return new Disassociate(DisassociateInfo.Shutdown);
                case CommandType.HEARTBEAT:
                    return new Heartbeat();
            }

            throw new PduCodecException(string.Format("Decoding of control PDU failed, invalid format, unexpected {0}", controlPdu));
        }