/// <summary> /// /// </summary> internal static IDictionary <IPAddress, int> GetReasonsDictionary(FrameReader reader, int length) { var reasons = new Dictionary <IPAddress, int>(length); for (var i = 0; i < length; i++) { var buffer = new byte[reader.ReadByte()]; reader.Read(buffer, 0, buffer.Length); reasons[new IPAddress(buffer)] = reader.ReadUInt16(); } return(new ReadOnlyDictionary <IPAddress, int>(reasons)); }
internal virtual Row ProcessRowItem(FrameReader reader) { var rowValues = new object[_metadata.Columns.Length]; for (var i = 0; i < _metadata.Columns.Length; i++) { var c = _metadata.Columns[i]; var length = reader.ReadInt32(); if (length < 0) { rowValues[i] = null; continue; } var buffer = GetBuffer(length, c.TypeCode); reader.Read(buffer, 0, length); rowValues[i] = TypeCodec.Decode(_protocolVersion, buffer, c.TypeCode, c.TypeInfo); } return new Row(rowValues, _metadata.Columns, _metadata.ColumnIndexes); }
internal virtual Row ProcessRowItem(FrameReader reader) { var rowValues = new object[_metadata.Columns.Length]; for (var i = 0; i < _metadata.Columns.Length; i++) { var c = _metadata.Columns[i]; var length = reader.ReadInt32(); if (length < 0) { rowValues[i] = null; continue; } var buffer = GetBuffer(length, c.TypeCode); reader.Read(buffer, 0, length); rowValues[i] = TypeCodec.Decode(_protocolVersion, buffer, c.TypeCode, c.TypeInfo); } return(new Row(rowValues, _metadata.Columns, _metadata.ColumnIndexes)); }