public void SetQuoteEntryID(int index, byte value) { if (index < 0 || index >= 10) { throw new IndexOutOfRangeException("index out of range: index=" + index); } _buffer.CharPut(_offset + 0 + (index * 1), value); }
public void SetSecurityGroup(int index, byte value) { if (index < 0 || index >= 6) { throw new IndexOutOfRangeException("index out of range: index=" + index); } _buffer.CharPut(_offset + 10 + (index * 1), value); }
public void SetEnteringTrader(int index, byte value) { if ((uint)index >= 5) { ThrowHelper.ThrowIndexOutOfRangeException(index); } _buffer.CharPut(_offset + 44 + (index * 1), value); }
public void SetSessionID(int index, byte value) { if ((uint)index >= 10) { ThrowHelper.ThrowIndexOutOfRangeException(index); } _buffer.CharPut(_offset + 0 + (index * 1), value); }
public void SetManufacturerCode(int index, byte value) { if (index < 0 || index >= 3) { throw new IndexOutOfRangeException("index out of range: index=" + index); } _buffer.CharPut(_offset + 3 + (index * 1), value); }
public void SetVehicleCode(int index, byte value) { if (index < 0 || index >= 6) { throw new IndexOutOfRangeException("index out of range: index=" + index); } _buffer.CharPut(_offset + 32 + (index * 1), value); }
public void SetVehicleCode(int index, byte value) { if ((uint)index >= 6) { ThrowHelper.ThrowIndexOutOfRangeException(index); } _buffer.CharPut(_offset + 28 + (index * 1), value); }
public void SetManufacturerCode(int index, byte value) { if ((uint)index >= 3) { ThrowHelper.ThrowIndexOutOfRangeException(index); } _buffer.CharPut(_offset + 3 + (index * 1), value); }
public void ShouldPutByte(byte value, int index) { _directBuffer.CharPut(index, value); Assert.AreEqual(value, _buffer[index]); }
public static int Put(DirectBuffer buffer, PrimitiveValue value, PrimitiveType type) { if (value == null) { return(0); } switch (type.Type) { case SbePrimitiveType.Char: if (value.Size == 1) { buffer.CharPut(0, (byte)value.LongValue()); return(1); } else { var byteArrayValue = value.ByteArrayValue(); buffer.SetBytes(0, byteArrayValue, 0, byteArrayValue.Length); return(byteArrayValue.Length); } case SbePrimitiveType.Int8: buffer.Int8Put(0, (sbyte)value.LongValue()); return(1); case SbePrimitiveType.Int16: buffer.Int16PutLittleEndian(0, (short)value.LongValue()); return(2); case SbePrimitiveType.Int32: buffer.Int32PutLittleEndian(0, (int)value.LongValue()); return(4); case SbePrimitiveType.Int64: buffer.Int64PutLittleEndian(0, value.LongValue()); return(8); case SbePrimitiveType.UInt8: buffer.Uint8Put(0, (byte)value.LongValue()); return(1); case SbePrimitiveType.UInt16: buffer.Uint16PutLittleEndian(0, (ushort)value.LongValue()); return(2); case SbePrimitiveType.UInt32: buffer.Uint32PutLittleEndian(0, (uint)value.LongValue()); return(4); case SbePrimitiveType.UInt64: buffer.Uint64PutLittleEndian(0, value.ULongValue()); return(8); case SbePrimitiveType.Float: buffer.FloatPutLittleEndian(0, (float)value.DoubleValue()); return(4); case SbePrimitiveType.Double: buffer.DoublePutLittleEndian(0, value.DoubleValue()); return(8); default: return(0); } }
public static int Put(DirectBuffer buffer, PrimitiveValue value, PrimitiveType type) { if (value == null) { return 0; } switch (type.Type) { case SbePrimitiveType.Char: if (value.Size == 1) { buffer.CharPut(0, (byte)value.LongValue()); return 1; } else { var byteArrayValue = value.ByteArrayValue(); buffer.SetBytes(0, byteArrayValue, 0, byteArrayValue.Length); return byteArrayValue.Length; } case SbePrimitiveType.Int8: buffer.Int8Put(0, (sbyte)value.LongValue()); return 1; case SbePrimitiveType.Int16: buffer.Int16PutLittleEndian(0, (short)value.LongValue()); return 2; case SbePrimitiveType.Int32: buffer.Int32PutLittleEndian(0, (int)value.LongValue()); return 4; case SbePrimitiveType.Int64: buffer.Int64PutLittleEndian(0, value.LongValue()); return 8; case SbePrimitiveType.UInt8: buffer.Uint8Put(0, (byte)value.LongValue()); return 1; case SbePrimitiveType.UInt16: buffer.Uint16PutLittleEndian(0, (ushort)value.LongValue()); return 2; case SbePrimitiveType.UInt32: buffer.Uint32PutLittleEndian(0, (uint) value.LongValue()); return 4; case SbePrimitiveType.UInt64: buffer.Uint64PutLittleEndian(0, value.ULongValue()); return 8; case SbePrimitiveType.Float: buffer.FloatPutLittleEndian(0, (float) value.DoubleValue()); return 4; case SbePrimitiveType.Double: buffer.DoublePutLittleEndian(0, value.DoubleValue()); return 8; default: return 0; } }
private int WriteUpdateValue(IReactiveTable table, TableUpdate tableUpdate, DirectBuffer buffer, int offset) { var column = tableUpdate.Column; if (column.Type == typeof(int)) { buffer.Int32PutLittleEndian(offset, table.GetValue <int>(column.ColumnId, tableUpdate.RowIndex)); return(sizeof(int)); } if (column.Type == typeof(short)) { buffer.Int16PutLittleEndian(offset, table.GetValue <short>(column.ColumnId, tableUpdate.RowIndex)); return(sizeof(short)); } if (column.Type == typeof(string)) { var stringValue = table.GetValue <string>(column.ColumnId, tableUpdate.RowIndex) ?? string.Empty; // Set the length var length = (ushort)stringValue.Length; buffer.Uint16PutLittleEndian(offset, length); var written = sizeof(ushort); offset += written; // And then the value var bytesWritten = Encoding.Default.GetBytes(stringValue, 0, stringValue.Length, _stringBuffer, 0); _buffer.SetBytes(offset, _stringBuffer, 0, bytesWritten); written += bytesWritten; //written += WriteStringToByteArray(stringValue, _byteArray, offset); return(written); } if (column.Type == typeof(bool)) { buffer.CharPut(offset, (byte)(table.GetValue <bool>(column.ColumnId, tableUpdate.RowIndex) ? 1 : 0)); return(sizeof(byte)); } if (column.Type == typeof(double)) { var value = table.GetValue <double>(column.ColumnId, tableUpdate.RowIndex); buffer.DoublePutLittleEndian(offset, value); return(sizeof(double)); } if (column.Type == typeof(long)) { buffer.Int64PutLittleEndian(offset, table.GetValue <long>(column.ColumnId, tableUpdate.RowIndex)); return(sizeof(long)); } if (column.Type == typeof(decimal)) { var decimalVal = table.GetValue <decimal>(column.ColumnId, tableUpdate.RowIndex); _decimalGetBytes(decimalVal, _decimalBuffer); buffer.SetBytes(offset, _decimalBuffer, 0, _decimalBuffer.Length); return(_decimalBuffer.Length); } if (column.Type == typeof(DateTime)) { throw new NotImplementedException(); } if (column.Type == typeof(TimeSpan)) { throw new NotImplementedException(); } if (column.Type == typeof(Guid)) { throw new NotImplementedException(); } if (column.Type == typeof(float)) { buffer.FloatPutLittleEndian(offset, table.GetValue <float>(column.ColumnId, tableUpdate.RowIndex)); return(sizeof(float)); } if (column.Type == typeof(byte)) { buffer.CharPut(offset, table.GetValue <byte>(column.ColumnId, tableUpdate.RowIndex)); return(sizeof(byte)); } if (column.Type == typeof(char)) { buffer.Uint16PutLittleEndian(offset, table.GetValue <char>(column.ColumnId, tableUpdate.RowIndex)); return(sizeof(char)); } return(0); }
private void FillValue(DirectBuffer buffer, SbeField field2, ref int offset) { if (field2.Presence.ToLower().Contains("constant")) { return; } SbeField field = field2.Clone(); if (field.PrimitiveType == null) { field.PrimitiveType = field.Type; } if (field.PrimitiveType.ToLower().Equals("uint8")) { field2.Value = buffer.Uint8Get(offset).ToString(); offset += 1; } else if (field.PrimitiveType.ToLower().Equals("uint16")) { field2.Value = buffer.Uint16GetLittleEndian(offset).ToString(); offset += 2; } else if (field.PrimitiveType.ToLower().Equals("uint32")) { field2.Value = buffer.Uint32GetLittleEndian(offset).ToString(); offset += 4; } else if (field.PrimitiveType.ToLower().Equals("uint64")) { field2.Value = buffer.Uint64GetLittleEndian(offset).ToString(); offset += 8; } else if (field.PrimitiveType.ToLower().Equals("int8")) { field2.Value = buffer.Int8Get(offset).ToString(); offset += 1; } else if (field.PrimitiveType.ToLower().Equals("int16")) { field2.Value = buffer.Int16GetLittleEndian(offset).ToString(); offset += 2; } else if (field.PrimitiveType.ToLower().Equals("int32")) { field2.Value = buffer.Int32GetLittleEndian(offset).ToString(); offset += 4; } else if (field.PrimitiveType.ToLower().Equals("int64")) { field2.Value = buffer.Int64GetLittleEndian(offset).ToString(); offset += 8; } else if (field.PrimitiveType.ToLower().Equals("char")) { if (!String.IsNullOrEmpty(field.CharacterEncoding)) { List <byte> charString = new List <byte>(); for (int i = 0; i < field.Length; i++) { charString.Add(buffer.CharGet(offset + i)); } field2.Value = Encoding.GetEncoding(field.CharacterEncoding).GetString(charString.ToArray()); } else { byte[] charString = Encoding.GetEncoding("UTF-8").GetBytes(field.Value); buffer.CharPut(offset, charString[0]); } offset += field.Length.Value; } if (field2.Fields != null && field2.Fields.Count > 0) { if (!field2.Type.ToLower().EndsWith("encoding")) { foreach (SbeField child in field2.Fields) { FillValue(buffer, child, ref offset); } } else { FillValue(buffer, field2.Fields[0], ref offset); List <byte> charString = new List <byte>(); int len = int.Parse(field2.Fields[0].Value); for (int i = 0; i < len; i++) { charString.Add(buffer.CharGet(offset + i)); } field2.Fields[1].Value = Encoding.GetEncoding(field2.Fields[1].CharacterEncoding).GetString(charString.ToArray()); offset += len; } } }
private void SetField(DirectBuffer buffer, SbeField field2, ref int offset) { SbeField field = field2.Clone(); if (field.PrimitiveType == null) { field.PrimitiveType = field.Type; } if (field.PrimitiveType.ToLower().Equals("uint8")) { if (!string.IsNullOrEmpty(field.Value)) { buffer.Uint8Put(offset, (byte)int.Parse(field.Value)); } offset += 1; } else if (field.PrimitiveType.ToLower().Equals("uint16")) { if (!string.IsNullOrEmpty(field.Value)) { buffer.Uint16PutLittleEndian(offset, ushort.Parse(field.Value)); } offset += 2; } else if (field.PrimitiveType.ToLower().Equals("uint32")) { if (!string.IsNullOrEmpty(field.Value)) { buffer.Uint32PutLittleEndian(offset, uint.Parse(field.Value)); } offset += 4; } else if (field.PrimitiveType.ToLower().Equals("uint64")) { if (!string.IsNullOrEmpty(field.Value)) { buffer.Uint64PutLittleEndian(offset, ulong.Parse(field.Value)); } offset += 8; } else if (field.PrimitiveType.ToLower().Equals("int8")) { if (!string.IsNullOrEmpty(field.Value)) { buffer.Int8Put(offset, (sbyte)int.Parse(field.Value)); } offset += 1; } else if (field.PrimitiveType.ToLower().Equals("int16")) { if (!string.IsNullOrEmpty(field.Value)) { buffer.Int16PutLittleEndian(offset, short.Parse(field.Value)); } offset += 2; } else if (field.PrimitiveType.ToLower().Equals("int32")) { if (!string.IsNullOrEmpty(field.Value)) { buffer.Int32PutLittleEndian(offset, int.Parse(field.Value)); } offset += 4; } else if (field.PrimitiveType.ToLower().Equals("int64")) { if (!string.IsNullOrEmpty(field.Value)) { buffer.Int64PutLittleEndian(offset, long.Parse(field.Value)); } offset += 8; } else if (field.PrimitiveType.ToLower().Equals("char")) { if (!string.IsNullOrEmpty(field.Value)) { if (!String.IsNullOrEmpty(field.CharacterEncoding)) { byte[] charString = Encoding.GetEncoding(field.CharacterEncoding).GetBytes(field.Value); int temp = offset; foreach (byte m in charString) { buffer.CharPut(temp, m); temp++; } } else { byte[] charString = Encoding.GetEncoding("UTF-8").GetBytes(field.Value); buffer.CharPut(offset, charString[0]); } } offset += field.Length.Value; } }