Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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
        }