public void WriteTo(IXdrWriter writer) { writer.Write(Program); writer.Write(Version); writer.Write((int)Protocol); writer.Write(Port); }
public void WriteTo(IXdrWriter writer) { writer.Write(Program); writer.Write(Version); writer.Write(Procedure); writer.WriteVariableLengthOpaque(Arguments); }
public void WriteTo(IXdrWriter writer) { writer.Write(BoolValue); writer.Write(Int8Value); writer.Write(Int16Value); writer.Write(Int32Value); writer.Write(Int64Value); writer.Write(UInt16Value); writer.Write(UInt32Value); writer.Write(UInt64Value); writer.Write(Float64Value); writer.Write(Float32Value); writer.WriteVariableLengthArray(BoolValue2); writer.WriteVariableLengthArray(Int8Value2); writer.WriteVariableLengthArray(Int16Value2); writer.WriteVariableLengthArray(Int32Value2); writer.WriteVariableLengthArray(Int64Value2); writer.WriteVariableLengthArray(UInt16Value2); writer.WriteVariableLengthArray(UInt32Value2); writer.WriteVariableLengthArray(UInt64Value2); writer.WriteVariableLengthArray(Float64Value2); writer.WriteVariableLengthArray(Float32Value2); writer.WriteFixedLengthArray(BoolValue3); writer.WriteFixedLengthArray(Int8Value3); writer.WriteFixedLengthArray(Int16Value3); writer.WriteFixedLengthArray(Int32Value3); writer.WriteFixedLengthArray(Int64Value3); writer.WriteFixedLengthArray(UInt16Value3); writer.WriteFixedLengthArray(UInt32Value3); writer.WriteFixedLengthArray(UInt64Value3); writer.WriteFixedLengthArray(Float64Value3); writer.WriteFixedLengthArray(Float32Value3); }
public void SendContAuthToBuffer(IXdrWriter xdr) { xdr.Write(IscCodes.op_cont_auth); xdr.WriteBuffer(HasClientData ? ClientData : PublicClientData); // p_data xdr.Write(AcceptPluginName); // p_name xdr.Write(AcceptPluginName); // p_list xdr.WriteBuffer(ServerKeys); // p_keys }
public void WriteTo(IXdrWriter writer) { writer.Write(RpcVersion); writer.Write(Program); writer.Write(Version); writer.Write(Procedure); Credential?.WriteTo(writer); Verifier?.WriteTo(writer); }
public void SendWireCryptToBuffer(IXdrWriter xdr) { if (WireCrypt == WireCryptOption.Disabled) { return; } xdr.Write(IscCodes.op_crypt); xdr.Write(FirebirdNetworkHandlingWrapper.EncryptionName); xdr.Write(SessionKeyName); }
public void WriteTo(IXdrWriter writer) { if (MappingNode != null) { writer.Write(true); MappingNode.WriteTo(writer); } else { writer.Write(false); } }
public void WriteTo(IXdrWriter writer) { writer.Write((int)RejectStatus); switch (RejectStatus) { case RejectStatus.RpcVersionMismatch: MismatchInfo?.WriteTo(writer); break; case RejectStatus.AuthenticationError: writer.Write((int)AuthenticationStatus); break; } }
public void WriteTo(IXdrWriter writer) { var current = this; do { current.Mapping?.WriteTo(writer); current = current.Next; writer.Write(current != null); } while (current != null); }
public void WriteTo(IXdrWriter writer) { writer.Write((int)ReplyStatus); switch (ReplyStatus) { case ReplyStatus.Accepted: AcceptedReply?.WriteTo(writer); break; case ReplyStatus.Denied: RejectedReply?.WriteTo(writer); break; } }
public void WriteTo(IXdrWriter writer) { writer.Write((int)MessageType); switch (MessageType) { case MessageType.Call: CallBody?.WriteTo(writer); break; case MessageType.Reply: ReplyBody?.WriteTo(writer); break; } }
public void WriteTo(IXdrWriter writer) { writer.Write((int)AcceptStatus); switch (AcceptStatus) { case AcceptStatus.Success: break; case AcceptStatus.ProgramMismatch: MismatchInfo?.WriteTo(writer); break; default: break; } }
protected void WriteRawParameter(IXdrWriter xdr, DbField field) { if (field.DbDataType != DbDataType.Null) { field.FixNull(); switch (field.DbDataType) { case DbDataType.Char: if (field.Charset.IsOctetsCharset) { xdr.WriteOpaque(field.DbValue.GetBinary(), field.Length); } else { var svalue = field.DbValue.GetString(); if ((field.Length % field.Charset.BytesPerCharacter) == 0 && svalue.Length > field.CharCount) { throw IscException.ForErrorCodes(new[] { IscCodes.isc_arith_except, IscCodes.isc_string_truncation }); } xdr.WriteOpaque(field.Charset.GetBytes(svalue), field.Length); } break; case DbDataType.VarChar: if (field.Charset.IsOctetsCharset) { xdr.WriteBuffer(field.DbValue.GetBinary()); } else { var svalue = field.DbValue.GetString(); if ((field.Length % field.Charset.BytesPerCharacter) == 0 && svalue.Length > field.CharCount) { throw IscException.ForErrorCodes(new[] { IscCodes.isc_arith_except, IscCodes.isc_string_truncation }); } xdr.WriteBuffer(field.Charset.GetBytes(svalue)); } break; case DbDataType.SmallInt: xdr.Write(field.DbValue.GetInt16()); break; case DbDataType.Integer: xdr.Write(field.DbValue.GetInt32()); break; case DbDataType.BigInt: case DbDataType.Array: case DbDataType.Binary: case DbDataType.Text: xdr.Write(field.DbValue.GetInt64()); break; case DbDataType.Decimal: case DbDataType.Numeric: xdr.Write(field.DbValue.GetDecimal(), field.DataType, field.NumericScale); break; case DbDataType.Float: xdr.Write(field.DbValue.GetFloat()); break; case DbDataType.Guid: xdr.Write(field.DbValue.GetGuid()); break; case DbDataType.Double: xdr.Write(field.DbValue.GetDouble()); break; case DbDataType.Date: xdr.Write(field.DbValue.GetDate()); break; case DbDataType.Time: xdr.Write(field.DbValue.GetTime()); break; case DbDataType.TimeStamp: xdr.Write(field.DbValue.GetDate()); xdr.Write(field.DbValue.GetTime()); break; case DbDataType.Boolean: xdr.Write(field.DbValue.GetBoolean()); break; default: throw IscException.ForStrParam($"Unknown SQL data type: {field.DataType}."); } } }
public void WriteTo(IXdrWriter writer) { writer.Write(Value); }
protected async Task WriteRawParameter(IXdrWriter xdr, DbField field, AsyncWrappingCommonArgs async) { if (field.DbDataType != DbDataType.Null) { await field.FixNull(async).ConfigureAwait(false); switch (field.DbDataType) { case DbDataType.Char: if (field.Charset.IsOctetsCharset) { await xdr.WriteOpaque(await field.DbValue.GetBinary(async).ConfigureAwait(false), field.Length, async).ConfigureAwait(false); } else if (field.Charset.IsNoneCharset) { var bvalue = field.Charset.GetBytes(await field.DbValue.GetString(async).ConfigureAwait(false)); if (bvalue.Length > field.Length) { throw IscException.ForErrorCodes(new[] { IscCodes.isc_arith_except, IscCodes.isc_string_truncation }); } await xdr.WriteOpaque(bvalue, field.Length, async).ConfigureAwait(false); } else { var svalue = await field.DbValue.GetString(async).ConfigureAwait(false); if ((field.Length % field.Charset.BytesPerCharacter) == 0 && svalue.Length > field.CharCount) { throw IscException.ForErrorCodes(new[] { IscCodes.isc_arith_except, IscCodes.isc_string_truncation }); } await xdr.WriteOpaque(field.Charset.GetBytes(svalue), field.Length, async).ConfigureAwait(false); } break; case DbDataType.VarChar: if (field.Charset.IsOctetsCharset) { await xdr.WriteBuffer(await field.DbValue.GetBinary(async).ConfigureAwait(false), async).ConfigureAwait(false); } else if (field.Charset.IsNoneCharset) { var bvalue = field.Charset.GetBytes(await field.DbValue.GetString(async).ConfigureAwait(false)); if (bvalue.Length > field.Length) { throw IscException.ForErrorCodes(new[] { IscCodes.isc_arith_except, IscCodes.isc_string_truncation }); } await xdr.WriteBuffer(bvalue, async).ConfigureAwait(false); } else { var svalue = await field.DbValue.GetString(async).ConfigureAwait(false); if ((field.Length % field.Charset.BytesPerCharacter) == 0 && svalue.Length > field.CharCount) { throw IscException.ForErrorCodes(new[] { IscCodes.isc_arith_except, IscCodes.isc_string_truncation }); } await xdr.WriteBuffer(field.Charset.GetBytes(svalue), async).ConfigureAwait(false); } break; case DbDataType.SmallInt: await xdr.Write(await field.DbValue.GetInt16(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.Integer: await xdr.Write(await field.DbValue.GetInt32(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.BigInt: case DbDataType.Array: case DbDataType.Binary: case DbDataType.Text: await xdr.Write(await field.DbValue.GetInt64(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.Decimal: case DbDataType.Numeric: await xdr.Write(await field.DbValue.GetDecimal(async).ConfigureAwait(false), field.DataType, field.NumericScale, async).ConfigureAwait(false); break; case DbDataType.Float: await xdr.Write(await field.DbValue.GetFloat(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.Guid: await xdr.Write(await field.DbValue.GetGuid(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.Double: await xdr.Write(await field.DbValue.GetDouble(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.Date: await xdr.Write(await field.DbValue.GetDate(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.Time: await xdr.Write(await field.DbValue.GetTime(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.TimeStamp: await xdr.Write(await field.DbValue.GetDate(async).ConfigureAwait(false), async).ConfigureAwait(false); await xdr.Write(await field.DbValue.GetTime(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.Boolean: await xdr.Write(await field.DbValue.GetBoolean(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.TimeStampTZ: await xdr.Write(await field.DbValue.GetDate(async).ConfigureAwait(false), async).ConfigureAwait(false); await xdr.Write(await field.DbValue.GetTime(async).ConfigureAwait(false), async).ConfigureAwait(false); await xdr.Write(await field.DbValue.GetTimeZoneId(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.TimeStampTZEx: await xdr.Write(await field.DbValue.GetDate(async).ConfigureAwait(false), async).ConfigureAwait(false); await xdr.Write(await field.DbValue.GetTime(async).ConfigureAwait(false), async).ConfigureAwait(false); await xdr.Write(await field.DbValue.GetTimeZoneId(async).ConfigureAwait(false), async).ConfigureAwait(false); await xdr.Write((short)0, async).ConfigureAwait(false); break; case DbDataType.TimeTZ: await xdr.Write(await field.DbValue.GetTime(async).ConfigureAwait(false), async).ConfigureAwait(false); await xdr.Write(await field.DbValue.GetTimeZoneId(async).ConfigureAwait(false), async).ConfigureAwait(false); break; case DbDataType.TimeTZEx: await xdr.Write(await field.DbValue.GetTime(async).ConfigureAwait(false), async).ConfigureAwait(false); await xdr.Write(await field.DbValue.GetTimeZoneId(async).ConfigureAwait(false), async).ConfigureAwait(false); await xdr.Write((short)0, async).ConfigureAwait(false); break; case DbDataType.Dec16: await xdr.Write(await field.DbValue.GetDec16(async).ConfigureAwait(false), 16, async).ConfigureAwait(false); break; case DbDataType.Dec34: await xdr.Write(await field.DbValue.GetDec34(async).ConfigureAwait(false), 34, async).ConfigureAwait(false); break; case DbDataType.Int128: await xdr.Write(await field.DbValue.GetInt128(async).ConfigureAwait(false), async).ConfigureAwait(false); break; default: throw IscException.ForStrParam($"Unknown SQL data type: {field.DataType}."); } } }
public void WriteTo(IXdrWriter writer) { writer.Write(Xid); Body?.WriteTo(writer); }
public void WriteTo(IXdrWriter writer) { writer.Write((int)AuthenticationFlavor); writer.WriteVariableLengthOpaque(Body); }
public void WriteTo(IXdrWriter writer) { writer.Write(Low); writer.Write(High); }
public void WriteTo(IXdrWriter writer) { writer.Write(Port); writer.WriteVariableLengthOpaque(Result); }