SbeRecordSerializer
Сериализатор записей SBE — кодирует/декодирует структуры записей Fix* в/из двоичного формата SBE. Использует Ecng SpanWriter/SpanReader для прямой двоичной сериализации.
Методы
public FixBoardLookup? ReadBoardLookup(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadBoardLookup(buffer)
Считывает FixBoardLookup из двоичного формата SBE.
public FixBoardUpdate? ReadBoardUpdate(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadBoardUpdate(buffer)
Считывает FixBoardUpdate из двоичного формата SBE.
public FixDataTypeLookup? ReadDataTypeLookup(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadDataTypeLookup(buffer)
Считывает FixDataTypeLookup из двоичного формата SBE.
public FixExecutionReport? ReadExecutionReport(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadExecutionReport(buffer)
Считывает FixExecutionReport из двоичного формата SBE.
private static FixId ReadFixId(SpanReader reader)
result = SbeRecordSerializer.ReadFixId(reader)
Прочтите FixId: [int64 N (NullableInt64)][uint16 strLen][UTF-8 байт].
public static ValueTuple<ushort, ushort, ushort, ushort> ReadHeader(SpanReader reader)
result = SbeRecordSerializer.ReadHeader(reader)
Прочитайте заголовок сообщения SBE.
public FixHeartbeat? ReadHeartbeat(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadHeartbeat(buffer)
Считывает FixHeartbeat из двоичного формата SBE.
public FixHistoryStart? ReadHistoryStart(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadHistoryStart(buffer)
Считывает FixHistoryStart из двоичного формата SBE.
public ValueTuple<SecurityId, string, DataType, DateTime, List<KeyValuePair<Level1Fields, object>>>? ReadLevel1Change(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadLevel1Change(buffer)
Прочтите сообщение Level1Change SBE.
public FixLogonResponse? ReadLogonResponse(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadLogonResponse(buffer)
Считывает FixLogonResponse из двоичного формата SBE.
public FixMarketDataIncrementalRefresh? ReadMarketDataIncrementalRefresh(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadMarketDataIncrementalRefresh(buffer)
Прочтите сообщение MarketDataIncrementalRefresh SBE.
public FixMarketDataRequest? ReadMarketDataRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadMarketDataRequest(buffer)
Прочтите сообщение MarketDataRequest SBE.
public FixMarketDataRequestReject? ReadMarketDataRequestReject(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadMarketDataRequestReject(buffer)
Считывает FixMarketDataRequestReject из двоичного формата SBE.
public FixMarketDataSnapshotFullRefresh? ReadMarketDataSnapshotFullRefresh(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadMarketDataSnapshotFullRefresh(buffer)
Прочтите сообщение MarketDataSnapshotFullRefresh SBE.
public FixNewOrderSingle? ReadNewOrderSingle(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadNewOrderSingle(buffer)
Считывает FixNewOrderSingle из двоичного формата SBE.
public FixOrderCancelReject? ReadOrderCancelReject(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderCancelReject(buffer)
Считывает FixOrderCancelReject из двоичного формата SBE.
public FixOrderCancelReplaceRequest? ReadOrderCancelReplaceRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderCancelReplaceRequest(buffer)
Считывает FixOrderCancelReplaceRequest из двоичного формата SBE.
public FixOrderCancelRequest? ReadOrderCancelRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderCancelRequest(buffer)
Считывает FixOrderCancelRequest из двоичного формата SBE.
public FixOrderMassCancelReport? ReadOrderMassCancelReport(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderMassCancelReport(buffer)
Считывает FixOrderMassCancelReport из двоичного формата SBE.
public FixOrderMassCancelRequest? ReadOrderMassCancelRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderMassCancelRequest(buffer)
Считывает FixOrderMassCancelRequest из двоичного формата SBE.
public FixOrderMassStatusRequest? ReadOrderMassStatusRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderMassStatusRequest(buffer)
Считывает FixOrderMassStatusRequest из двоичного формата SBE.
public FixOrderStatusRequest? ReadOrderStatusRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadOrderStatusRequest(buffer)
Считывает FixOrderStatusRequest из двоичного формата SBE.
private static FixParty[] ReadParties(SpanReader reader)
result = SbeRecordSerializer.ReadParties(reader)
Прочитайте повторяющуюся группу FixParty.
public FixPositionReport? ReadPositionReport(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadPositionReport(buffer)
Считывает FixPositionReport из двоичного формата SBE.
public FixReject? ReadReject(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadReject(buffer)
Считывает FixReject из двоичного формата SBE.
public FixRemove? ReadRemove(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadRemove(buffer)
Считывает FixRemove из двоичного формата SBE.
public FixRequestForPositions? ReadRequestForPositions(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadRequestForPositions(buffer)
Считывает FixRequestForPositions из двоичного формата SBE.
public FixResendRequest? ReadResendRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadResendRequest(buffer)
Считывает FixResendRequest из двоичного формата SBE.
public FixSecurityLegsRequest? ReadSecurityLegsRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityLegsRequest(buffer)
Считывает FixSecurityLegsRequest из двоичного формата SBE.
public FixSecurityListRequest? ReadSecurityListRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityListRequest(buffer)
Считывает FixSecurityListRequest из двоичного формата SBE.
public ValueTuple<FixId, FixId, SecurityMessage[]>? ReadSecurityListResponse(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityListResponse(buffer)
Считывает SecurityListResponse из двоичного формата SBE.
public FixSecurityListResponseError? ReadSecurityListResponseError(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityListResponseError(buffer)
Считывает FixSecurityListResponseError из двоичного формата SBE.
public FixSecurityMapping? ReadSecurityMapping(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityMapping(buffer)
Считывает FixSecurityMapping из двоичного формата SBE.
public FixSecurityStatusRequest? ReadSecurityStatusRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSecurityStatusRequest(buffer)
Считывает FixSecurityStatusRequest из двоичного формата SBE.
public FixSequenceReset? ReadSequenceReset(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSequenceReset(buffer)
Считывает FixSequenceReset из двоичного формата SBE.
private static string[] ReadStringArray(SpanReader reader)
result = SbeRecordSerializer.ReadStringArray(reader)
Чтение массива строк.
public FixId? ReadSubscriptionFinished(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSubscriptionFinished(buffer)
Считывает сообщение SubscriptionFinished из двоичного формата SBE.
public FixSubscriptionOnline? ReadSubscriptionOnline(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSubscriptionOnline(buffer)
Считывает FixSubscriptionOnline из двоичного формата SBE.
public FixSubscriptionResponse? ReadSubscriptionResponse(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadSubscriptionResponse(buffer)
Считывает FixSubscriptionResponse из двоичного формата SBE.
public FixTestRequest? ReadTestRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadTestRequest(buffer)
Считывает FixTestRequest из двоичного формата SBE.
public FixTradingSessionStatusRequest? ReadTradingSessionStatusRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadTradingSessionStatusRequest(buffer)
Считывает FixTradingSessionStatusRequest из двоичного формата SBE.
public FixUserRequest? ReadUserRequest(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadUserRequest(buffer)
Считывает FixUserRequest из двоичного формата SBE.
public FixUserRequestEx? ReadUserRequestEx(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadUserRequestEx(buffer)
Считывает FixUserRequestEx из двоичного формата SBE.
public FixUserResponse? ReadUserResponse(ReadOnlySpan<byte> buffer)
result = sbeRecordSerializer.ReadUserResponse(buffer)
Считывает FixUserResponse из двоичного формата SBE.
internal static string ReadVarStringFromReader(SpanReader reader)
result = SbeRecordSerializer.ReadVarStringFromReader(reader)
Прочитайте строку переменной длины: [длина uint16][UTF-8 байт]. Длина 0 возвращает ноль.
public int WriteBoardLookup(FixBoardLookup data, Span<byte> buffer)
result = sbeRecordSerializer.WriteBoardLookup(data, buffer)
Записывает FixBoardLookup в двоичный формат SBE.
public int WriteBoardUpdate(FixBoardUpdate data, Span<byte> buffer)
result = sbeRecordSerializer.WriteBoardUpdate(data, buffer)
Записывает FixBoardUpdate в двоичный формат SBE.
public int WriteDataTypeLookup(FixDataTypeLookup data, Span<byte> buffer)
result = sbeRecordSerializer.WriteDataTypeLookup(data, buffer)
Записывает FixDataTypeLookup в двоичный формат SBE.
public int WriteExecutionReport(FixExecutionReport data, Span<byte> buffer)
result = sbeRecordSerializer.WriteExecutionReport(data, buffer)
Записывает FixExecutionReport в двоичный формат SBE.
private static void WriteFixId(SpanWriter writer, FixId id)
SbeRecordSerializer.WriteFixId(writer, id)
Напишите FixId: [int64 N (NullableInt64)][uint16 strLen][UTF-8 байт].
public static void WriteHeader(SpanWriter writer, ushort blockLength, ushort templateId)
SbeRecordSerializer.WriteHeader(writer, blockLength, templateId)
Напишите заголовок сообщения SBE.
public int WriteHeartbeat(FixHeartbeat data, Span<byte> buffer)
result = sbeRecordSerializer.WriteHeartbeat(data, buffer)
Записывает FixHeartbeat в двоичный формат SBE.
public int WriteHistoryStart(FixHistoryStart data, Span<byte> buffer)
result = sbeRecordSerializer.WriteHistoryStart(data, buffer)
Записывает FixHistoryStart в двоичный формат SBE.
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)
Напишите сообщение Level1Change SBE с типизированными парами ключ-значение. Макет: [Заголовок][VarString символ][VarString boardCode][VarString mdReqId] [NullableChar buildFromType][VarString buildFromArg] [NullableDateTime serverTime] [Изменения в группе: счетчик uint16, каждый: int32 fieldId + байт valueType + введенное значение]
public int WriteLogonResponse(FixLogonResponse data, Span<byte> buffer)
result = sbeRecordSerializer.WriteLogonResponse(data, buffer)
Записывает FixLogonResponse в двоичный формат SBE.
public int WriteMarketDataIncrementalRefresh(FixMarketDataIncrementalRefresh data, Span<byte> buffer)
result = sbeRecordSerializer.WriteMarketDataIncrementalRefresh(data, buffer)
Напишите сообщение MarketDataIncrementalRefresh SBE. Макет: [Заголовок][VarString символ][VarString securityExchange][VarString mdReqId] [NullableChar buildFromType][VarString buildFromArg] [Записи группы: количество uint16, каждая: поля MDEntry]
public int WriteMarketDataRequest(FixMarketDataRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteMarketDataRequest(data, buffer)
Напишите сообщение MarketDataRequest SBE. Макет: [Заголовок][NullableChar subscriptionRequestType][NullableInt32 marketDepth] [NullableDateTime fromDate][NullableDateTime toDate] [NullableBool allowBuildFromSmallerTimeFrame][NullableBool isCalcVolumeProfile] [NullableBool isFinishedOnly][NullableBool isRegularTradingHours] [NullableInt32 buildMode][NullableChar buildFrom][NullableChar buildField] [NullableInt64 пропустить][NullableInt64 count] [FixId mdReqId][FixId mdResponseId] [Группа mdEntryTypes: счетчик uint16, каждый: NullableChar тип + VarString arg] [Группа securityIds: счетчик uint16, каждое: VarString secCode + VarString boardCode + VarString secType] [Поля группы: счетчик uint16, каждое: поле Int32]
public int WriteMarketDataRequestReject(FixMarketDataRequestReject data, Span<byte> buffer)
result = sbeRecordSerializer.WriteMarketDataRequestReject(data, buffer)
Записывает FixMarketDataRequestReject в двоичный формат SBE.
public int WriteMarketDataSnapshotFullRefresh(FixMarketDataSnapshotFullRefresh data, Span<byte> buffer)
result = sbeRecordSerializer.WriteMarketDataSnapshotFullRefresh(data, buffer)
Напишите сообщение MarketDataSnapshotFullRefresh SBE. Макет: [Заголовок][VarString символ][VarString boardCode][VarString mdReqId] [NullableChar buildFromType][VarString buildFromArg] [Записи группы: количество uint16, каждая: поля MDEntry]
public int WriteNewOrderSingle(FixNewOrderSingle data, Span<byte> buffer)
result = sbeRecordSerializer.WriteNewOrderSingle(data, buffer)
Записывает FixNewOrderSingle в двоичный формат SBE.
public int WriteOrderCancelReject(FixOrderCancelReject data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderCancelReject(data, buffer)
Записывает FixOrderCancelReject в двоичный формат SBE.
public int WriteOrderCancelReplaceRequest(FixOrderCancelReplaceRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderCancelReplaceRequest(data, buffer)
Записывает FixOrderCancelReplaceRequest в двоичный формат SBE.
public int WriteOrderCancelRequest(FixOrderCancelRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderCancelRequest(data, buffer)
Записывает FixOrderCancelRequest в двоичный формат SBE.
public int WriteOrderMassCancelReport(FixOrderMassCancelReport data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderMassCancelReport(data, buffer)
Записывает FixOrderMassCancelReport в двоичный формат SBE.
public int WriteOrderMassCancelRequest(FixOrderMassCancelRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderMassCancelRequest(data, buffer)
Записывает FixOrderMassCancelRequest в двоичный формат SBE.
public int WriteOrderMassStatusRequest(FixOrderMassStatusRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderMassStatusRequest(data, buffer)
Записывает FixOrderMassStatusRequest в двоичный формат SBE.
public int WriteOrderStatusRequest(FixOrderStatusRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteOrderStatusRequest(data, buffer)
Записывает FixOrderStatusRequest в двоичный формат SBE.
private static void WriteParties(SpanWriter writer, FixParty[] parties)
SbeRecordSerializer.WriteParties(writer, parties)
Напишите повторяющуюся группу FixParty: [uint16 count][party...]. Каждая сторона: [VarString partyId][int32 partyRole].
public int WritePositionReport(FixPositionReport data, Span<byte> buffer)
result = sbeRecordSerializer.WritePositionReport(data, buffer)
Записывает FixPositionReport в двоичный формат SBE.
public int WriteReject(FixReject data, Span<byte> buffer)
result = sbeRecordSerializer.WriteReject(data, buffer)
Записывает FixReject в двоичный формат SBE.
public int WriteRemove(FixRemove data, Span<byte> buffer)
result = sbeRecordSerializer.WriteRemove(data, buffer)
Записывает FixRemove в двоичный формат SBE.
public int WriteRequestForPositions(FixRequestForPositions data, Span<byte> buffer)
result = sbeRecordSerializer.WriteRequestForPositions(data, buffer)
Записывает FixRequestForPositions в двоичный формат SBE.
public int WriteResendRequest(FixResendRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteResendRequest(data, buffer)
Записывает FixResendRequest в двоичный формат SBE.
public int WriteSecurityLegsRequest(FixSecurityLegsRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityLegsRequest(data, buffer)
Записывает FixSecurityLegsRequest в двоичный формат SBE.
public int WriteSecurityListRequest(FixSecurityListRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityListRequest(data, buffer)
Записывает FixSecurityListRequest в двоичный формат SBE.
public int WriteSecurityListResponse(FixId securityReqId, FixId securityResponseId, ICollection<SecurityMessage> securities, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityListResponse(securityReqId, securityResponseId, securities, buffer)
Записывает SecurityListResponse в двоичный формат SBE.
public int WriteSecurityListResponseError(FixSecurityListResponseError data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityListResponseError(data, buffer)
Записывает FixSecurityListResponseError в двоичный формат SBE.
public int WriteSecurityMapping(FixSecurityMapping data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityMapping(data, buffer)
Записывает FixSecurityMapping в двоичный формат SBE.
public int WriteSecurityStatusRequest(FixSecurityStatusRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSecurityStatusRequest(data, buffer)
Записывает FixSecurityStatusRequest в двоичный формат SBE.
public int WriteSequenceReset(FixSequenceReset data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSequenceReset(data, buffer)
Записывает FixSequenceReset в двоичный формат SBE.
private static void WriteStringArray(SpanWriter writer, string[] values)
SbeRecordSerializer.WriteStringArray(writer, values)
Напишите массив строк: [uint16 count][VarStrings...].
public int WriteSubscriptionFinished(FixId mdReqId, Span<byte> buffer)
result = sbeRecordSerializer.WriteSubscriptionFinished(mdReqId, buffer)
Записывает сообщение SubscriptionFinished в двоичный формат SBE.
public int WriteSubscriptionOnline(FixSubscriptionOnline data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSubscriptionOnline(data, buffer)
Записывает FixSubscriptionOnline в двоичный формат SBE.
public int WriteSubscriptionResponse(FixSubscriptionResponse data, Span<byte> buffer)
result = sbeRecordSerializer.WriteSubscriptionResponse(data, buffer)
Записывает FixSubscriptionResponse в двоичный формат SBE.
public int WriteTestRequest(FixTestRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteTestRequest(data, buffer)
Записывает FixTestRequest в двоичный формат SBE.
public int WriteTradingSessionStatusRequest(FixTradingSessionStatusRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteTradingSessionStatusRequest(data, buffer)
Записывает FixTradingSessionStatusRequest в двоичный формат SBE.
public int WriteUserRequest(FixUserRequest data, Span<byte> buffer)
result = sbeRecordSerializer.WriteUserRequest(data, buffer)
Записывает FixUserRequest в двоичный формат SBE.
public int WriteUserRequestEx(FixUserRequestEx data, Span<byte> buffer)
result = sbeRecordSerializer.WriteUserRequestEx(data, buffer)
Записывает FixUserRequestEx в двоичный формат SBE.
public int WriteUserResponse(FixUserResponse data, Span<byte> buffer)
result = sbeRecordSerializer.WriteUserResponse(data, buffer)
Записывает FixUserResponse в двоичный формат SBE.
private static void WriteVarString(SpanWriter writer, string value)
SbeRecordSerializer.WriteVarString(writer, value)
Напишите строку переменной длины: [длина uint16][UTF-8 байт]. Нулевая строка записывается как длина = 0.
Поля
public const int HeaderSize
value = SbeRecordSerializer.HeaderSize
Размер SBE MessageHeader в байтах.
public const ushort SchemaVersion
value = SbeRecordSerializer.SchemaVersion
Версия схемы SBE.