static ISteamSerializableHeader ReadHeader(uint rawEMsg, Stream stream) { ISteamSerializableHeader header; if (MsgUtil.IsProtoBuf(rawEMsg)) { header = new MsgHdrProtoBuf(); } else { switch (rawEMsg) { case (uint)EMsg.ChannelEncryptRequest: case (uint)EMsg.ChannelEncryptResponse: case (uint)EMsg.ChannelEncryptResult: header = new MsgHdr(); break; default: header = new ExtendedClientMsgHdr(); break; } } header.Deserialize(stream); return(header); }
public void GetPacketMsgReturnsPacketClientMsgForOtherMessages() { var msg = MsgUtil.MakeMsg(EMsg.ClientLogOnResponse, protobuf: false); var msgHdr = new ExtendedClientMsgHdr { Msg = msg }; var data = Serialize(msgHdr); var packetMsg = CMClient.GetPacketMsg(data); Assert.IsAssignableFrom <PacketClientMsg>(packetMsg); }
static ISteamSerializableHeader ReadHeader(uint rawEMsg, Stream stream) { ISteamSerializableHeader header; if (MsgUtil.IsProtoBuf(rawEMsg)) { header = new MsgHdrProtoBuf(); } else { header = new ExtendedClientMsgHdr(); } header.Deserialize(stream); return(header); }
ISteamSerializableHeader BuildHeader(uint realEMsg, Stream str) { ISteamSerializableHeader hdr = null; if (MsgUtil.IsProtoBuf(realEMsg)) { hdr = new MsgHdrProtoBuf(); } else { hdr = new ExtendedClientMsgHdr(); } hdr.Deserialize(str); return(hdr); }
/// <summary> /// Initializes a new instance of the <see cref="PacketClientMsg"/> class. /// </summary> /// <param name="eMsg">The network message type for this packet message.</param> /// <param name="data">The data.</param> public PacketClientMsg(EMsg eMsg, byte[] data) { MsgType = eMsg; payload = data; ExtendedClientMsgHdr extendedHdr = new ExtendedClientMsgHdr(); // deserialize the extended header to get our hands on the job ids using (MemoryStream ms = new MemoryStream(data)) { extendedHdr.Deserialize(ms); } TargetJobID = extendedHdr.TargetJobID; SourceJobID = extendedHdr.SourceJobID; }
/// <summary> /// Initializes a new instance of the <see cref="PacketClientMsg"/> class. /// </summary> /// <param name="eMsg">The network message type for this packet message.</param> /// <param name="data">The data.</param> public PacketClientMsg(EMsg eMsg, byte[] data) { if (data == null) { throw new ArgumentNullException(nameof(data)); } MsgType = eMsg; payload = data; Header = new ExtendedClientMsgHdr(); // deserialize the extended header to get our hands on the job ids using MemoryStream ms = new MemoryStream(data); Header.Deserialize(ms); BodyOffset = ms.Position; }
/// <summary> /// Initializes a new instance of the <see cref="PacketClientMsg"/> class. /// </summary> /// <param name="eMsg">The network message type for this packet message.</param> /// <param name="data">The data.</param> public PacketClientMsg(EMsg eMsg, byte[] data) { if (data == null) { throw new ArgumentNullException(nameof(data)); } MsgType = eMsg; payload = data; ExtendedClientMsgHdr extendedHdr = new ExtendedClientMsgHdr(); // deserialize the extended header to get our hands on the job ids using (MemoryStream ms = new MemoryStream(data)) { extendedHdr.Deserialize(ms); } TargetJobID = extendedHdr.TargetJobID; SourceJobID = extendedHdr.SourceJobID; }
ISteamSerializableHeader BuildHeader( uint realEMsg, Stream str ) { ISteamSerializableHeader hdr = null; if ( MsgUtil.IsProtoBuf( realEMsg ) ) { hdr = new MsgHdrProtoBuf(); } else { hdr = new ExtendedClientMsgHdr(); } hdr.Deserialize( str ); return hdr; }