Exemple #1
0
        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);
        }
Exemple #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);
        }
Exemple #3
0
        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);
        }
Exemple #4
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);
        }
Exemple #5
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;
        }
Exemple #6
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)
        {
            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;
        }
Exemple #7
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)
        {
            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;
        }
Exemple #8
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;
        }