public NetMessageData(NetMessageType msgType, FrameEncodeType encType, int frameWidth, int frameHeight, ulong timestamp) { this.msgType = msgType; this.encType = encType; this.frameWidth = frameWidth; this.frameHeight = frameHeight; this.timestamp = timestamp; }
public void DecompressData() { if (decompressor != null && frameData != null && frameData.Length > compHeaderSize && encType == FrameEncodeType.Compressed) { encType = (FrameEncodeType)frameData[0]; int frameSize = System.BitConverter.ToInt32(frameData, 1); byte[] decompressBuffer = new byte[frameSize]; int decompSize = decompressor.Decompress(frameData, compHeaderSize, decompressBuffer, 0, frameData.Length - compHeaderSize); frameData = decompressBuffer; decompressBuffer = null; } }
public void CompressData() { if (compressor != null && frameData != null) { byte[] compressBuffer = new byte[frameData.Length + compHeaderSize]; compressBuffer[0] = (byte)encType; byte[] elemBytes = System.BitConverter.GetBytes(frameData.Length); elemBytes.CopyTo(compressBuffer, 1); int compSize = compressor.Compress(frameData, 0, frameData.Length, compressBuffer, compHeaderSize) + compHeaderSize; encType = FrameEncodeType.Compressed; frameData = new byte[compSize]; System.Buffer.BlockCopy(compressBuffer, 0, frameData, 0, compSize); compressBuffer = null; } }
public void UnwrapMessage(byte[] message) { int msgOffset = sizeof(int); msgType = (NetMessageType)message[msgOffset]; msgOffset++; encType = (FrameEncodeType)message[msgOffset]; msgOffset++; frameWidth = System.BitConverter.ToUInt16(message, msgOffset); msgOffset += sizeof(ushort); frameHeight = System.BitConverter.ToUInt16(message, msgOffset); msgOffset += sizeof(ushort); timestamp = System.BitConverter.ToUInt64(message, msgOffset); msgOffset += sizeof(ulong); int frameSize = message.Length - msgOffset; frameData = new byte[frameSize]; System.Array.Copy(message, msgOffset, frameData, 0, frameSize); if (decompressor != null) { DecompressData(); } }
public NetMessageData(NetMessageType msgType, FrameEncodeType encType) { this.msgType = msgType; this.encType = encType; }