public override byte[] EncodeValue(ScalarValue value_Renamed) { if (value_Renamed.Null) { return(NULLABLE_UNSIGNED_INTEGER.EncodeValue(ScalarValue.NULL)); } var byteVectorValue = (ByteVectorValue)value_Renamed; int lengthSize = IntegerCodec.GetUnsignedIntegerSize(byteVectorValue.value_Renamed.Length); var encoding = new byte[byteVectorValue.value_Renamed.Length + lengthSize]; byte[] length = NULLABLE_UNSIGNED_INTEGER.Encode(new IntegerValue(byteVectorValue.value_Renamed.Length)); Array.Copy(length, 0, encoding, 0, lengthSize); Array.Copy(byteVectorValue.value_Renamed, 0, encoding, lengthSize, byteVectorValue.value_Renamed.Length); return(encoding); }
public override ScalarValue Decode(System.IO.Stream in_Renamed) { ScalarValue decode = NULLABLE_UNSIGNED_INTEGER.Decode(in_Renamed); if (decode == null) { return(null); } int length = decode.ToInt(); var encoding = new byte[length]; for (int i = 0; i < length; i++) { try { encoding[i] = (byte)in_Renamed.ReadByte(); } catch (System.IO.IOException e) { Global.HandleError(Error.FastConstants.IO_ERROR, "An error occurred while decoding a nullable byte vector.", e); } } return(new ByteVectorValue(encoding)); }