SbeRecordSerializer
SBE record serializer — encodes/decodes Fix* record structs to/from SBE binary format. Uses Ecng SpanWriter/SpanReader for direct binary serialization.
Methods
public FixBoardLookup? ReadBoardLookup(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadBoardLookup(buffer)
Reads FixBoardLookup from SBE binary format.
public FixBoardUpdate? ReadBoardUpdate(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadBoardUpdate(buffer)
Reads FixBoardUpdate from SBE binary format.
public FixDataTypeLookup? ReadDataTypeLookup(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadDataTypeLookup(buffer)
Reads FixDataTypeLookup from SBE binary format.
public FixExecutionReport? ReadExecutionReport(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadExecutionReport(buffer)
Reads FixExecutionReport from SBE binary format.
private static FixId ReadFixId(SpanReader reader)
result = SbeRecordSerializer.ReadFixId(reader)
Read a FixId: [int64 N (NullableInt64)][uint16 strLen][UTF-8 bytes].
public static ValueTuple<ushort, ushort, ushort, ushort> ReadHeader(SpanReader reader)
result = SbeRecordSerializer.ReadHeader(reader)
Read SBE message header.
public FixHeartbeat? ReadHeartbeat(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadHeartbeat(buffer)
Reads FixHeartbeat from SBE binary format.
public FixHistoryStart? ReadHistoryStart(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadHistoryStart(buffer)
Reads FixHistoryStart from SBE binary format.
public ValueTuple<SecurityId, string, DataType, DateTime, List<KeyValuePair<Level1Fields, object>>>? ReadLevel1Change(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadLevel1Change(buffer)
Read a Level1Change SBE message.
public FixLogonResponse? ReadLogonResponse(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadLogonResponse(buffer)
Reads FixLogonResponse from SBE binary format.
public FixMarketDataIncrementalRefresh? ReadMarketDataIncrementalRefresh(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadMarketDataIncrementalRefresh(buffer)
Read a MarketDataIncrementalRefresh SBE message.
public FixMarketDataRequest? ReadMarketDataRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadMarketDataRequest(buffer)
Read a MarketDataRequest SBE message.
public FixMarketDataRequestReject? ReadMarketDataRequestReject(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadMarketDataRequestReject(buffer)
Reads FixMarketDataRequestReject from SBE binary format.
public FixMarketDataSnapshotFullRefresh? ReadMarketDataSnapshotFullRefresh(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadMarketDataSnapshotFullRefresh(buffer)
Read a MarketDataSnapshotFullRefresh SBE message.
public FixNewOrderSingle? ReadNewOrderSingle(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadNewOrderSingle(buffer)
Reads FixNewOrderSingle from SBE binary format.
public FixOrderCancelReject? ReadOrderCancelReject(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderCancelReject(buffer)
Reads FixOrderCancelReject from SBE binary format.
public FixOrderCancelReplaceRequest? ReadOrderCancelReplaceRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderCancelReplaceRequest(buffer)
Reads FixOrderCancelReplaceRequest from SBE binary format.
public FixOrderCancelRequest? ReadOrderCancelRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderCancelRequest(buffer)
Reads FixOrderCancelRequest from SBE binary format.
public FixOrderMassCancelReport? ReadOrderMassCancelReport(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderMassCancelReport(buffer)
Reads FixOrderMassCancelReport from SBE binary format.
public FixOrderMassCancelRequest? ReadOrderMassCancelRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderMassCancelRequest(buffer)
Reads FixOrderMassCancelRequest from SBE binary format.
public FixOrderMassStatusRequest? ReadOrderMassStatusRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderMassStatusRequest(buffer)
Reads FixOrderMassStatusRequest from SBE binary format.
public FixOrderStatusRequest? ReadOrderStatusRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderStatusRequest(buffer)
Reads FixOrderStatusRequest from SBE binary format.
private static FixParty[] ReadParties(SpanReader reader)
result = SbeRecordSerializer.ReadParties(reader)
Read a repeating group of FixParty.
public FixPositionReport? ReadPositionReport(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadPositionReport(buffer)
Reads FixPositionReport from SBE binary format.
public FixReject? ReadReject(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadReject(buffer)
Reads FixReject from SBE binary format.
public FixRemove? ReadRemove(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadRemove(buffer)
Reads FixRemove from SBE binary format.
public FixRequestForPositions? ReadRequestForPositions(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadRequestForPositions(buffer)
Reads FixRequestForPositions from SBE binary format.
public FixResendRequest? ReadResendRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadResendRequest(buffer)
Reads FixResendRequest from SBE binary format.
public FixSecurityLegsRequest? ReadSecurityLegsRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityLegsRequest(buffer)
Reads FixSecurityLegsRequest from SBE binary format.
public FixSecurityListRequest? ReadSecurityListRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityListRequest(buffer)
Reads FixSecurityListRequest from SBE binary format.
public ValueTuple<FixId, FixId, SecurityMessage[]>? ReadSecurityListResponse(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityListResponse(buffer)
Reads SecurityListResponse from SBE binary format.
public FixSecurityListResponseError? ReadSecurityListResponseError(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityListResponseError(buffer)
Reads FixSecurityListResponseError from SBE binary format.
public FixSecurityMapping? ReadSecurityMapping(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityMapping(buffer)
Reads FixSecurityMapping from SBE binary format.
public FixSecurityStatusRequest? ReadSecurityStatusRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityStatusRequest(buffer)
Reads FixSecurityStatusRequest from SBE binary format.
public FixSequenceReset? ReadSequenceReset(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSequenceReset(buffer)
Reads FixSequenceReset from SBE binary format.
private static string[] ReadStringArray(SpanReader reader)
result = SbeRecordSerializer.ReadStringArray(reader)
Read a string array.
public FixId? ReadSubscriptionFinished(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSubscriptionFinished(buffer)
Reads a SubscriptionFinished message from SBE binary format.
public FixSubscriptionOnline? ReadSubscriptionOnline(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSubscriptionOnline(buffer)
Reads FixSubscriptionOnline from SBE binary format.
public FixSubscriptionResponse? ReadSubscriptionResponse(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSubscriptionResponse(buffer)
Reads FixSubscriptionResponse from SBE binary format.
public FixTestRequest? ReadTestRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadTestRequest(buffer)
Reads FixTestRequest from SBE binary format.
public FixTradingSessionStatusRequest? ReadTradingSessionStatusRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadTradingSessionStatusRequest(buffer)
Reads FixTradingSessionStatusRequest from SBE binary format.
public FixUserRequest? ReadUserRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadUserRequest(buffer)
Reads FixUserRequest from SBE binary format.
public FixUserRequestEx? ReadUserRequestEx(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadUserRequestEx(buffer)
Reads FixUserRequestEx from SBE binary format.
public FixUserResponse? ReadUserResponse(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadUserResponse(buffer)
Reads FixUserResponse from SBE binary format.
internal static string ReadVarStringFromReader(SpanReader reader)
result = SbeRecordSerializer.ReadVarStringFromReader(reader)
Read a variable-length string: [uint16 length][UTF-8 bytes]. Length 0 returns null.
public int WriteBoardLookup(FixBoardLookup data, Span<byte> buffer)
result = sbeRecordSerializer.WriteBoardLookup(data, buffer)
Writes FixBoardLookup to SBE binary format.
public int WriteBoardUpdate(FixBoardUpdate data, Span<byte> buffer)
result = sbeRecordSerializer.WriteBoardUpdate(data, buffer)
Writes FixBoardUpdate to SBE binary format.
public int WriteDataTypeLookup(FixDataTypeLookup data, Span<byte> buffer)
result = sbeRecordSerializer.WriteDataTypeLookup(data, buffer)
Writes FixDataTypeLookup to SBE binary format.
public int WriteExecutionReport(FixExecutionReport data, Span<byte> buffer)
result = sbeRecordSerializer.WriteExecutionReport(data, buffer)
Writes FixExecutionReport to SBE binary format.
private static void WriteFixId(SpanWriter writer, FixId id)
SbeRecordSerializer.WriteFixId(writer, id)
Write a FixId: [int64 N (NullableInt64)][uint16 strLen][UTF-8 bytes].
public static void WriteHeader(SpanWriter writer, ushort blockLength, ushort templateId)
SbeRecordSerializer.WriteHeader(writer, blockLength, templateId)
Write SBE message header.
public int WriteHeartbeat(FixHeartbeat data, Span<byte> buffer)
result = sbeRecordSerializer.WriteHeartbeat(data, buffer)
Writes FixHeartbeat to SBE binary format.
public int WriteHistoryStart(FixHistoryStart data, Span<byte> buffer)
result = sbeRecordSerializer.WriteHistoryStart(data, buffer)
Writes FixHistoryStart to SBE binary format.
public int WriteLevel1Change(SecurityId securityId, string mdReqId, DataType buildFrom, DateTime serverTime, IDictionary<Level1Fields, object> changes, Span<byte> buffer)
result = sbeRecordSerializer.WriteLevel1Change(securityId, mdReqId, buildFrom, serverTime, changes, buffer)
Write a Level1Change SBE message with typed key-value pairs. Layout: [Header][VarString symbol][VarString boardCode][VarString mdReqId] [NullableChar buildFromType][VarString buildFromArg] [NullableDateTime serverTime] [Group changes: uint16 count, each: int32 fieldId + byte valueType + typed value]
public int WriteLogonResponse(FixLogonResponse data, Span<byte> buffer)
result = sbeRecordSerializer.WriteLogonResponse(data, buffer)
Writes FixLogonResponse to SBE binary format.
public int WriteMarketDataIncrementalRefresh(FixMarketDataIncrementalRefresh data, Span<byte> buffer)
result = sbeRecordSerializer.WriteMarketDataIncrementalRefresh(data, buffer)
Write a MarketDataIncrementalRefresh SBE message. Layout: [Header][VarString symbol][VarString securityExchange][VarString mdReqId] [NullableChar buildFromType][VarString buildFromArg] [Group entries: uint16 count, each: MDEntry fields]
public int WriteMarketDataRequest(FixMarketDataRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteMarketDataRequest(data, buffer)
Write a MarketDataRequest SBE message. Layout: [Header][NullableChar subscriptionRequestType][NullableInt32 marketDepth] [NullableDateTime fromDate][NullableDateTime toDate] [NullableBool allowBuildFromSmallerTimeFrame][NullableBool isCalcVolumeProfile] [NullableBool isFinishedOnly][NullableBool isRegularTradingHours] [NullableInt32 buildMode][NullableChar buildFrom][NullableChar buildField] [NullableInt64 skip][NullableInt64 count] [FixId mdReqId][FixId mdResponseId] [Group mdEntryTypes: uint16 count, each: NullableChar type + VarString arg] [Group securityIds: uint16 count, each: VarString secCode + VarString boardCode + VarString secType] [Group fields: uint16 count, each: Int32 field]
public int WriteMarketDataRequestReject(FixMarketDataRequestReject data, Span<byte> buffer)
result = sbeRecordSerializer.WriteMarketDataRequestReject(data, buffer)
Writes FixMarketDataRequestReject to SBE binary format.
public int WriteMarketDataSnapshotFullRefresh(FixMarketDataSnapshotFullRefresh data, Span<byte> buffer)
result = sbeRecordSerializer.WriteMarketDataSnapshotFullRefresh(data, buffer)
Write a MarketDataSnapshotFullRefresh SBE message. Layout: [Header][VarString symbol][VarString boardCode][VarString mdReqId] [NullableChar buildFromType][VarString buildFromArg] [Group entries: uint16 count, each: MDEntry fields]
public int WriteNewOrderSingle(FixNewOrderSingle data, Span<byte> buffer)
result = sbeRecordSerializer.WriteNewOrderSingle(data, buffer)
Writes FixNewOrderSingle to SBE binary format.
public int WriteOrderCancelReject(FixOrderCancelReject data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderCancelReject(data, buffer)
Writes FixOrderCancelReject to SBE binary format.
public int WriteOrderCancelReplaceRequest(FixOrderCancelReplaceRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderCancelReplaceRequest(data, buffer)
Writes FixOrderCancelReplaceRequest to SBE binary format.
public int WriteOrderCancelRequest(FixOrderCancelRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderCancelRequest(data, buffer)
Writes FixOrderCancelRequest to SBE binary format.
public int WriteOrderMassCancelReport(FixOrderMassCancelReport data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderMassCancelReport(data, buffer)
Writes FixOrderMassCancelReport to SBE binary format.
public int WriteOrderMassCancelRequest(FixOrderMassCancelRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderMassCancelRequest(data, buffer)
Writes FixOrderMassCancelRequest to SBE binary format.
public int WriteOrderMassStatusRequest(FixOrderMassStatusRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderMassStatusRequest(data, buffer)
Writes FixOrderMassStatusRequest to SBE binary format.
public int WriteOrderStatusRequest(FixOrderStatusRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderStatusRequest(data, buffer)
Writes FixOrderStatusRequest to SBE binary format.
private static void WriteParties(SpanWriter writer, FixParty[] parties)
SbeRecordSerializer.WriteParties(writer, parties)
Write a repeating group of FixParty: [uint16 count][parties...]. Each party: [VarString partyId][int32 partyRole].
public int WritePositionReport(FixPositionReport data, Span<byte> buffer)
result = sbeRecordSerializer.WritePositionReport(data, buffer)
Writes FixPositionReport to SBE binary format.
public int WriteReject(FixReject data, Span<byte> buffer)
result = sbeRecordSerializer.WriteReject(data, buffer)
Writes FixReject to SBE binary format.
public int WriteRemove(FixRemove data, Span<byte> buffer)
result = sbeRecordSerializer.WriteRemove(data, buffer)
Writes FixRemove to SBE binary format.
public int WriteRequestForPositions(FixRequestForPositions data, Span<byte> buffer)
result = sbeRecordSerializer.WriteRequestForPositions(data, buffer)
Writes FixRequestForPositions to SBE binary format.
public int WriteResendRequest(FixResendRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteResendRequest(data, buffer)
Writes FixResendRequest to SBE binary format.
public int WriteSecurityLegsRequest(FixSecurityLegsRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityLegsRequest(data, buffer)
Writes FixSecurityLegsRequest to SBE binary format.
public int WriteSecurityListRequest(FixSecurityListRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityListRequest(data, buffer)
Writes FixSecurityListRequest to SBE binary format.
public int WriteSecurityListResponse(FixId securityReqId, FixId securityResponseId, ICollection<SecurityMessage> securities, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityListResponse(securityReqId, securityResponseId, securities, buffer)
Writes SecurityListResponse to SBE binary format.
public int WriteSecurityListResponseError(FixSecurityListResponseError data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityListResponseError(data, buffer)
Writes FixSecurityListResponseError to SBE binary format.
public int WriteSecurityMapping(FixSecurityMapping data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityMapping(data, buffer)
Writes FixSecurityMapping to SBE binary format.
public int WriteSecurityStatusRequest(FixSecurityStatusRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityStatusRequest(data, buffer)
Writes FixSecurityStatusRequest to SBE binary format.
public int WriteSequenceReset(FixSequenceReset data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSequenceReset(data, buffer)
Writes FixSequenceReset to SBE binary format.
private static void WriteStringArray(SpanWriter writer, string[] values)
SbeRecordSerializer.WriteStringArray(writer, values)
Write a string array: [uint16 count][VarStrings...].
public int WriteSubscriptionFinished(FixId mdReqId, Span<byte> buffer)
result = sbeRecordSerializer.WriteSubscriptionFinished(mdReqId, buffer)
Writes a SubscriptionFinished message to SBE binary format.
public int WriteSubscriptionOnline(FixSubscriptionOnline data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSubscriptionOnline(data, buffer)
Writes FixSubscriptionOnline to SBE binary format.
public int WriteSubscriptionResponse(FixSubscriptionResponse data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSubscriptionResponse(data, buffer)
Writes FixSubscriptionResponse to SBE binary format.
public int WriteTestRequest(FixTestRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteTestRequest(data, buffer)
Writes FixTestRequest to SBE binary format.
public int WriteTradingSessionStatusRequest(FixTradingSessionStatusRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteTradingSessionStatusRequest(data, buffer)
Writes FixTradingSessionStatusRequest to SBE binary format.
public int WriteUserRequest(FixUserRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteUserRequest(data, buffer)
Writes FixUserRequest to SBE binary format.
public int WriteUserRequestEx(FixUserRequestEx data, Span<byte> buffer)
result = sbeRecordSerializer.WriteUserRequestEx(data, buffer)
Writes FixUserRequestEx to SBE binary format.
public int WriteUserResponse(FixUserResponse data, Span<byte> buffer)
result = sbeRecordSerializer.WriteUserResponse(data, buffer)
Writes FixUserResponse to SBE binary format.
private static void WriteVarString(SpanWriter writer, string value)
SbeRecordSerializer.WriteVarString(writer, value)
Write a variable-length string: [uint16 length][UTF-8 bytes]. Null string is written as length = 0.
Fields
public const int HeaderSize
value = SbeRecordSerializer.HeaderSize
SBE MessageHeader size in bytes.
public const ushort SchemaVersion
value = SbeRecordSerializer.SchemaVersion
SBE schema version.