public static UInt32 SerializeCommand <T>(IInstanceSerializer <T> serializer, Byte commandID, T command, Buf buffer, UInt32 offset) { UInt32 commandLength = 1 + serializer.SerializationLength(command); offset = FrameProtocol.SetupFrame(buffer, offset, commandLength); buffer.array[offset++] = commandID; return(serializer.Serialize(buffer.array, offset, command)); }
public override UInt32 SerializationLength(Object instance) { ElementType[] elements = CheckAndGetValue(instance); UInt32 length = 0; for (int i = 0; i < elements.Length; i++) { length += elementSerializer.SerializationLength(elements[i]); } return(length); }
public override UInt32 SerializationLength(Object instance) { Object valueAsObject = fieldInfo.GetValue(instance); if (valueAsObject == null) { return(arraySizeByteCount); } ElementType[] elements = (ElementType[])valueAsObject; UInt32 length = 0; for (int i = 0; i < elements.Length; i++) { length += elementSerializer.SerializationLength(elements[i]); } return(arraySizeByteCount + length); }
public UInt32 SerializationLength() { return(serializer.SerializationLength(instance)); }