private void EncodeElectron(IoSession session, object message, IProtocolEncoderOutput output) { IElectronPacket packet = (IElectronPacket)message; ElectronPacketType packetType = packet.GetPacketType(); EncodeVoltronStylePackets(session, output, AriesPacketType.Electron, packetType.GetPacketCode(), packet); }
static ElectronPackets() { ELECTRON_PACKET_BY_TYPEID = new Dictionary <ushort, Type>(); foreach (Type packetType in ELECTRON_PACKETS) { IElectronPacket packet = (IElectronPacket)Activator.CreateInstance(packetType); ELECTRON_PACKET_BY_TYPEID.Add(packet.GetPacketType().GetPacketCode(), packetType); } }