Example #1
0
 public static byte[] SerializeToBuffer(BasePacket bp)
 {
     using (MemoryStream stream = new MemoryStream())
     {
         stream.Seek(0, SeekOrigin.Begin);
         BinaryWriter writer = new BinaryWriter(stream);
         {
             bp.Write(writer);
         }
         return(stream.ToArray());
     }
 }
Example #2
0
 private bool SendUnencrypted(Peer peer, ChannelID channel, BasePacket packet,
                              bool reliable = true, bool unsequenced = false)
 {
     byte[] data;
     using (var stream = new MemoryStream())
     {
         using (var writer = new PacketWriter(stream, true))
         {
             packet.Write(writer);
         }
         data = stream.GetBuffer().Take((int)stream.Length).ToArray();
     }
     return(peer.Send(channel, data, reliable, unsequenced));
 }
Example #3
0
        private void Send()
        {
            BasePacket[] packetList = PrepPacketsToSend();
            if (packetList == null)
            {
                return;
            }

            memoryStream.Seek(0, SeekOrigin.Begin);

            for (int i = 0; i < packetList.Length; i++)
            {
                BasePacket packet = packetList[i];

                ManageDebuggingPackets(packet);

                int pos = Network.Utils.SetupWrite(binaryWriter);
                packet.Write(binaryWriter);
                Network.Utils.FinishWrite(binaryWriter, pos);

                IntrepidSerialize.ReturnToPool(packet);
            }
            SendRecursive(packetList);
        }