public SDPacket?ReadPacket(byte[] rawData) { if (rawData == null) { return(null); } if (rawData.Length < 20) { return(null); } uint dataLen = BitConverter.ToUInt16(rawData, 16); if (rawData.Length < 20 + dataLen) { return(null); } SDPacket packet = new SDPacket(); packet.Data = new byte[dataLen]; packet.PacketID = BitConverter.ToUInt16(rawData, 0); packet.ServiceID = BitConverter.ToUInt16(rawData, 4); packet.Flags = (SDFlags)BitConverter.ToUInt16(rawData, 8); packet.StateID = BitConverter.ToUInt16(rawData, 12); packet.Length = dataLen; Array.Copy(rawData, 20, packet.Data, 0, packet.Length); return(packet); }
public SDPacket DeriveNewPacket(SDPacket packet) { SDPacket newPacket = new SDPacket(); newPacket.PacketID = packet.PacketID; newPacket.ServiceID = packet.ServiceID; return newPacket; }
public SDPacket DeriveNewPacket(SDPacket packet) { SDPacket newPacket = new SDPacket(); newPacket.PacketID = packet.PacketID; newPacket.ServiceID = packet.ServiceID; return(newPacket); }
public byte[] GetBytes(SDPacket packet) { byte[] data = new byte[20 + packet.Length]; Array.Copy(BitConverter.GetBytes(packet.PacketID), 0, data, 0, 4); Array.Copy(BitConverter.GetBytes(packet.ServiceID), 0, data, 4, 4); Array.Copy(BitConverter.GetBytes((uint)packet.Flags), 0, data, 8, 4); Array.Copy(BitConverter.GetBytes(packet.StateID), 0, data, 12, 4); Array.Copy(BitConverter.GetBytes(packet.Length), 0, data, 16, 4); Array.Copy(packet.Data, 0, data, 20, packet.Length); return data; }
public byte[] GetBytes(SDPacket packet) { byte[] data = new byte[20 + packet.Length]; Array.Copy(BitConverter.GetBytes(packet.PacketID), 0, data, 0, 4); Array.Copy(BitConverter.GetBytes(packet.ServiceID), 0, data, 4, 4); Array.Copy(BitConverter.GetBytes((uint)packet.Flags), 0, data, 8, 4); Array.Copy(BitConverter.GetBytes(packet.StateID), 0, data, 12, 4); Array.Copy(BitConverter.GetBytes(packet.Length), 0, data, 16, 4); Array.Copy(packet.Data, 0, data, 20, packet.Length); return(data); }
public SDPacket NewPacket(byte[] data, uint serviceID, int stateID, SDFlags flags) { SDPacket packet = new SDPacket(); packet.PacketID = 0; packet.ServiceID = serviceID; packet.Flags = flags; packet.StateID = stateID; if (data != null) { packet.Length = (uint)data.Length; packet.Data = data; } return(packet); }
public SDPacket? ReadPacket(byte[] rawData) { if (rawData == null) return null; if (rawData.Length < 20) return null; uint dataLen = BitConverter.ToUInt16(rawData, 16); if (rawData.Length < 20 + dataLen) return null; SDPacket packet = new SDPacket(); packet.Data = new byte[dataLen]; packet.PacketID = BitConverter.ToUInt16(rawData, 0); packet.ServiceID = BitConverter.ToUInt16(rawData, 4); packet.Flags = (SDFlags)BitConverter.ToUInt16(rawData, 8); packet.StateID = BitConverter.ToUInt16(rawData, 12); packet.Length = dataLen; Array.Copy(rawData, 20, packet.Data, 0, packet.Length); return packet; }
public SDPacket NewPacket(byte[] data, uint serviceID, int stateID, SDFlags flags) { SDPacket packet = new SDPacket(); packet.PacketID = 0; packet.ServiceID = serviceID; packet.Flags = flags; packet.StateID = stateID; if (data != null) { packet.Length = (uint)data.Length; packet.Data = data; } return packet; }