public static CancelOrderRequest ReadFromBuffer(ByteBuffer buf, int offset = 0) { if (buf.length - offset < StructSize) { return(null); } var req = new CancelOrderRequest(); req.RequestId = encoding.GetString(buf.data, offset, 16).Trim((char)0); offset += 16; req.ClearingAccountId = encoding.GetString(buf.data, offset, 16).Trim((char)0); offset += 16; req.TraderAccountId = encoding.GetString(buf.data, offset, 16).Trim((char)0); offset += 16; req.InstrumentId = BitConverter.ToInt32(buf.data, offset); offset += PropInfo.GetSize(req, r => r.InstrumentId); req.ExchangeOrderId = BitConverter.ToInt64(buf.data, offset); offset += PropInfo.GetSize(req, r => r.ExchangeOrderId); req.OriginRequestId = encoding.GetString(buf.data, offset, 16).Trim((char)0); offset += 16; req.OrderSide = (OrderSide)buf.data[offset++]; req.TrimZeroSymbols(); return(req); }
static CancelOrderRequest() { CancelOrderRequest o = null; StructSize = 16 + // RequestId 16 + // ClearingAccountId 16 + // TraderAccountId PropInfo.GetSize(o, r => r.InstrumentId) + PropInfo.GetSize(o, r => r.ExchangeOrderId) + 16 + // OriginRequestId 1; // OrderSide }