Inheritance: ISteamSerializableHeader
		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;
		}
Example #2
0
		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;
		}
Example #4
0
        /// <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;
        }
Example #5
0
        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;
        }