codec

package
v2.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 23, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package codec owns the real IBKR message encode/decode layer on top of package wire, including handshake parsing and server-version-aware field layouts validated against grounded captures.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Encode

func Encode(sv int, msg OutboundMessage) ([]byte, error)

Encode encodes a message in the real TWS wire format (integer msg_id prefix).

func EncodeHandshakePrefix

func EncodeHandshakePrefix() []byte

EncodeHandshakePrefix returns the raw API prefix bytes sent before framing begins.

func EncodeLegacyServer

func EncodeLegacyServer(sv int, msg LegacyServerMessage) ([]byte, error)

EncodeLegacyServer encodes one of the testhost's retained symbolic server fixtures in the classic wire format. Production client traffic uses Encode.

func EncodeVersionRange

func EncodeVersionRange(minVer, maxVer int) []byte

EncodeVersionRange returns the version negotiation payload (to be length-framed by caller).

Types

type APIConfig

type APIConfig struct {
	Precautions *APIPrecautionsConfig
	Settings    *APISettingsConfig
}

type APIError

type APIError struct {
	ReqID                   int
	Code                    int
	Message                 string
	AdvancedOrderRejectJSON string
	ErrorTimeMs             string
}

type APIPrecautionsConfig

type APIPrecautionsConfig struct {
	BypassOrderPrecautions            *bool
	BypassBondWarning                 *bool
	BypassNegativeYieldConfirmation   *bool
	BypassCalledBondWarning           *bool
	BypassSameActionPairTradeWarning  *bool
	BypassFlaggedAccountsWarning      *bool
	BypassPriceBasedVolatilityWarning *bool
	BypassRedirectOrderWarning        *bool
	BypassNoOverfillProtection        *bool
	BypassRouteMarketableToBBO        *bool
}

type APISettingsConfig

type APISettingsConfig struct {
	ReadOnlyAPI                             *bool
	TotalQuantityForMutualFunds             *bool
	DownloadOpenOrdersOnConnection          *bool
	IncludeVirtualFXPositions               *bool
	PrepareDailyPnL                         *bool
	SendStatusUpdatesForVolatilityOrders    *bool
	EncodeAPIMessages                       *string
	SocketPort                              *int
	UseNegativeAutoRange                    *bool
	CreateAPIMessageLogFile                 *bool
	IncludeMarketDataInLogFile              *bool
	ExposeTradingScheduleToAPI              *bool
	SplitInsuredDepositFromCashBalance      *bool
	SendZeroPositionsForTodayOnly           *bool
	LetAPIAccountRequestsSwitchSubscription *bool
	UseAccountGroupsWithAllocationMethods   *bool
	LoggingLevel                            *string
	MasterClientID                          *int
	BulkDataTimeout                         *int
	ComponentExchangeSeparator              *string
	ShowForexDataInOneTenthPips             *bool
	AllowForexTradingInOneTenthPips         *bool
	RoundAccountValuesToNearestWholeNumber  *bool
	SendMarketDataInLotsForUSStocks         *bool
	ShowAdvancedOrderRejectInUI             *bool
	RejectMessagesAboveMaxRate              *bool
	MaintainConnectionOnIncorrectFields     *bool
	CompatibilityModeNASDAQStocks           *bool
	SendInstrumentTimezone                  *string
	SendForexDataInCompatibilityMode        *bool
	MaintainAndResubmitOrdersOnReconnect    *bool
	HistoricalDataMaxSize                   *int
	AutoReportNettingEventContractTrades    *bool
	OptionExerciseRequestType               *string
	AllowLocalhostOnly                      *bool
	TrustedIPs                              []string
}

type AccountDownloadEnd

type AccountDownloadEnd struct {
	Account string
}

type AccountSummaryEnd

type AccountSummaryEnd struct {
	ReqID int
}

func (AccountSummaryEnd) RequestID

func (m AccountSummaryEnd) RequestID() int

type AccountSummaryRequest

type AccountSummaryRequest struct {
	ReqID   int
	Account string
	Tags    []string
}

type AccountSummaryValue

type AccountSummaryValue struct {
	ReqID    int
	Account  string
	Tag      string
	Value    string
	Currency string
}

func (AccountSummaryValue) RequestID

func (m AccountSummaryValue) RequestID() int

type AccountUpdateMultiEnd

type AccountUpdateMultiEnd struct {
	ReqID int
}

func (AccountUpdateMultiEnd) RequestID

func (m AccountUpdateMultiEnd) RequestID() int

type AccountUpdateMultiValue

type AccountUpdateMultiValue struct {
	ReqID     int
	Account   string
	ModelCode string
	Key       string
	Value     string
	Currency  string
}

func (AccountUpdateMultiValue) RequestID

func (m AccountUpdateMultiValue) RequestID() int

type AccountUpdatesMultiRequest

type AccountUpdatesMultiRequest struct {
	ReqID        int
	Account      string
	ModelCode    string
	LedgerAndNLV bool
}

type AccountUpdatesRequest

type AccountUpdatesRequest struct {
	Subscribe bool
	Account   string
}

type BondContractDetails

type BondContractDetails struct {
	ContractDetails
	CUSIP             string
	Coupon            string
	Maturity          string
	IssueDate         string
	Ratings           string
	BondType          string
	CouponType        string
	Convertible       bool
	Callable          bool
	Putable           bool
	DescriptionAppend string
	NextOptionDate    string
	NextOptionType    string
	NextOptionPartial bool
	Notes             string
}

BondContractDetails is the distinct classic message-18 response used for bonds. ContractDetails carries the common fields shared with message 10; the remaining fields retain the official bond callback shape.

func (BondContractDetails) RequestID

func (m BondContractDetails) RequestID() int

type CalcImpliedVolatilityRequest

type CalcImpliedVolatilityRequest struct {
	ReqID       int
	Contract    Contract
	OptionPrice string
	UnderPrice  string
}

type CalcOptionPriceRequest

type CalcOptionPriceRequest struct {
	ReqID      int
	Contract   Contract
	Volatility string
	UnderPrice string
}

type CancelAccountSummary

type CancelAccountSummary struct {
	ReqID int
}

type CancelAccountUpdatesMulti

type CancelAccountUpdatesMulti struct {
	ReqID int
}

type CancelCalcImpliedVolatility

type CancelCalcImpliedVolatility struct {
	ReqID int
}

type CancelCalcOptionPrice

type CancelCalcOptionPrice struct {
	ReqID int
}

type CancelContractData

type CancelContractData struct {
	ReqID int
}

CancelContractData cancels an in-flight contract-details request. The Gateway introduced this as a protobuf-only message at server_version 215.

type CancelHeadTimestamp

type CancelHeadTimestamp struct {
	ReqID int
}

type CancelHistogramData

type CancelHistogramData struct {
	ReqID int
}

type CancelHistoricalData

type CancelHistoricalData struct {
	ReqID int
}

type CancelHistoricalTicks

type CancelHistoricalTicks struct {
	ReqID int
}

CancelHistoricalTicks cancels an in-flight historical-ticks request. The Gateway introduced this as a protobuf-only message at server_version 215.

type CancelMarketDepth

type CancelMarketDepth struct {
	ReqID        int
	IsSmartDepth bool
}

type CancelNewsBulletins

type CancelNewsBulletins struct{}

type CancelOpenOrders

type CancelOpenOrders struct{}

type CancelOrderRequest

type CancelOrderRequest struct {
	OrderID               int64
	ManualOrderCancelTime string
	ExtOperator           string
	ManualOrderIndicator  string // empty = UNSET
}

CancelOrderRequest cancels an order (outbound msg_id=4).

type CancelPnL

type CancelPnL struct {
	ReqID int
}

type CancelPnLSingle

type CancelPnLSingle struct {
	ReqID int
}

type CancelPositions

type CancelPositions struct{}

type CancelPositionsMulti

type CancelPositionsMulti struct {
	ReqID int
}

type CancelQuote

type CancelQuote struct {
	ReqID int
}

type CancelRealTimeBars

type CancelRealTimeBars struct {
	ReqID int
}

type CancelScannerSubscription

type CancelScannerSubscription struct {
	ReqID int
}

type CancelTickByTick

type CancelTickByTick struct {
	ReqID int
}

type CancelWSHEventData

type CancelWSHEventData struct {
	ReqID int
}

type CancelWSHMetaData

type CancelWSHMetaData struct {
	ReqID int
}

type ComboLeg

type ComboLeg struct {
	ConID              int
	Ratio              int
	Action             string
	Exchange           string
	OpenClose          string
	ShortSaleSlot      string
	DesignatedLocation string
	ExemptCode         string
}

type CommissionReport

type CommissionReport struct {
	ExecID              string
	Commission          string
	Currency            string
	RealizedPNL         string
	Yield               string
	YieldRedemptionDate string
}

type CompletedOrder

type CompletedOrder struct {
	OrderDetails
}

type CompletedOrderEnd

type CompletedOrderEnd struct{}

type CompletedOrdersRequest

type CompletedOrdersRequest struct {
	APIOnly bool
}

type ConfigRequest

type ConfigRequest struct {
	ReqID int
}

type ConfigResponse

type ConfigResponse struct {
	ReqID       int
	LockAndExit *LockAndExitConfig
	Messages    []MessageConfig
	API         *APIConfig
	Orders      *OrdersConfig
}

func (ConfigResponse) RequestID

func (m ConfigResponse) RequestID() int

type Contract

type Contract struct {
	ConID           int
	Symbol          string
	SecType         string
	Expiry          string
	Strike          string
	Right           string
	Multiplier      string
	Exchange        string
	Currency        string
	LocalSymbol     string
	TradingClass    string
	PrimaryExchange string
	IncludeExpired  bool
	SecurityIDType  string
	SecurityID      string
	IssuerID        string
	ComboLegs       []ComboLeg
	DeltaNeutral    *DeltaNeutralContract
}

Contract is the canonical internal contract model. Classic encoders select the request-specific subset they own; protobuf encoders use the complete shared Contract schema.

type ContractDetails

type ContractDetails struct {
	ReqID                     int
	Contract                  Contract
	MarketName                string
	MinTick                   string
	PriceMagnifier            int
	OrderTypes                string
	ValidExchanges            string
	UnderConID                int
	LongName                  string
	ContractMonth             string
	Industry                  string
	Category                  string
	Subcategory               string
	TimeZoneID                string
	TradingHours              string
	LiquidHours               string
	EconomicValueRule         string
	EconomicValueMultiplier   string
	SecurityIDs               []TagValue
	AggGroup                  int
	UnderSymbol               string
	UnderSecType              string
	MarketRuleIDs             string
	RealExpirationDate        string
	LastTradeDate             string
	LastTradeTime             string
	StockType                 string
	MinSize                   string
	SizeIncrement             string
	SuggestedSizeIncrement    string
	EventContract1            string
	EventContractDescription1 string
	EventContractDescription2 string
	MinAlgoSize               string
	LastPricePrecision        string
	LastSizePrecision         string
	Fund                      *FundDetails
	IneligibilityReasons      []IneligibilityReason
}

func (ContractDetails) RequestID

func (m ContractDetails) RequestID() int

type ContractDetailsEnd

type ContractDetailsEnd struct {
	ReqID int
}

func (ContractDetailsEnd) RequestID

func (m ContractDetailsEnd) RequestID() int

type ContractDetailsRequest

type ContractDetailsRequest struct {
	ReqID    int
	Contract Contract
}

type CurrentTime

type CurrentTime struct {
	Time string
}

type CurrentTimeMillis

type CurrentTimeMillis struct {
	TimeMs string
}

CurrentTimeMillis is the inbound currentTimeInMillis frame (IN 109): the server epoch time in milliseconds, no version field.

type CurrentTimeMillisRequest

type CurrentTimeMillisRequest struct{}

CurrentTimeMillisRequest is the outbound reqCurrentTimeInMillis message (OUT 105): the bare message id with no version or fields, answered by a CurrentTimeMillis frame (IN 109).

type CurrentTimeRequest

type CurrentTimeRequest struct{}

CurrentTimeRequest is the outbound reqCurrentTime message (OUT 49). The server responds asynchronously with a CurrentTime frame using the same numeric msg_id.

type DeltaNeutralContract

type DeltaNeutralContract struct {
	ConID int
	Delta string
	Price string
}

type DeltaNeutralValidation

type DeltaNeutralValidation struct {
	ReqID    int
	Contract DeltaNeutralContract
}

func (DeltaNeutralValidation) RequestID

func (m DeltaNeutralValidation) RequestID() int

type DepthExchangeEntry

type DepthExchangeEntry struct {
	Exchange        string
	SecType         string
	ListingExch     string
	ServiceDataType string
	AggGroup        int
}

type DisplayGroupList

type DisplayGroupList struct {
	ReqID  int
	Groups string
}

func (DisplayGroupList) RequestID

func (m DisplayGroupList) RequestID() int

type DisplayGroupUpdated

type DisplayGroupUpdated struct {
	ReqID        int
	ContractInfo string
}

func (DisplayGroupUpdated) RequestID

func (m DisplayGroupUpdated) RequestID() int

type ExecutionDetail

type ExecutionDetail struct {
	ReqID    int
	OrderID  int64
	Contract Contract

	ExecID                  string
	Time                    string
	Account                 string
	Exchange                string
	Side                    string
	Shares                  string
	Price                   string
	PermID                  string
	ClientID                string
	Liquidation             string
	CumulativeQuantity      string
	AveragePrice            string
	OrderRef                string
	EconomicValueRule       string
	EconomicValueMultiplier string
	ModelCode               string
	LastLiquidity           string
	PendingPriceRevision    string
	Submitter               string
	OptExerciseOrLapseType  string
}

func (ExecutionDetail) RequestID

func (m ExecutionDetail) RequestID() int

type ExecutionsEnd

type ExecutionsEnd struct {
	ReqID int
}

func (ExecutionsEnd) RequestID

func (m ExecutionsEnd) RequestID() int

type ExecutionsRequest

type ExecutionsRequest struct {
	ReqID         int
	ClientID      int
	Account       string
	Time          string
	Symbol        string
	SecType       string
	Exchange      string
	Side          string
	LastNDays     *int
	SpecificDates []int
}

type ExerciseOptionsRequest

type ExerciseOptionsRequest struct {
	ReqID            int
	Contract         Contract
	ExerciseAction   int
	ExerciseQuantity int
	Account          string
	Override         int
}

type FamilyCodeEntry

type FamilyCodeEntry struct {
	AccountID  string
	FamilyCode string
}

type FamilyCodes

type FamilyCodes struct {
	Codes []FamilyCodeEntry
}

type FamilyCodesRequest

type FamilyCodesRequest struct{}

type FundDetails

type FundDetails struct {
	Name                      string
	Family                    string
	Type                      string
	FrontLoad                 string
	BackLoad                  string
	BackLoadTimeInterval      string
	ManagementFee             string
	Closed                    bool
	ClosedForNewInvestors     bool
	ClosedForNewMoney         bool
	NotifyAmount              string
	MinimumInitialPurchase    string
	MinimumSubsequentPurchase string
	BlueSkyStates             string
	BlueSkyTerritories        string
	DistributionPolicy        string
	AssetType                 string
}

type GlobalCancelRequest

type GlobalCancelRequest struct {
	ExtOperator          string
	ManualOrderIndicator string // empty = UNSET
}

GlobalCancelRequest cancels all open orders (outbound msg_id=58).

type HeadTimestamp

type HeadTimestamp struct {
	ReqID     int
	Timestamp string
}

func (HeadTimestamp) RequestID

func (m HeadTimestamp) RequestID() int

type HeadTimestampRequest

type HeadTimestampRequest struct {
	ReqID      int
	Contract   Contract
	WhatToShow string
	UseRTH     bool
}

type HistogramDataEntry

type HistogramDataEntry struct {
	Price string
	Size  string
}

type HistogramDataRequest

type HistogramDataRequest struct {
	ReqID    int
	Contract Contract
	UseRTH   bool
	Period   string
}

type HistogramDataResponse

type HistogramDataResponse struct {
	ReqID   int
	Entries []HistogramDataEntry
}

func (HistogramDataResponse) RequestID

func (m HistogramDataResponse) RequestID() int

type HistoricalBar

type HistoricalBar struct {
	ReqID  int
	Time   string
	Open   string
	High   string
	Low    string
	Close  string
	Volume string
	WAP    string
	Count  string
}

func (HistoricalBar) RequestID

func (m HistoricalBar) RequestID() int

type HistoricalBarsEnd

type HistoricalBarsEnd struct {
	ReqID int
	// StartDate and EndDate carry the dataset bounds echoed by the terminal
	// IN 108 marker. Some live captures omit EndDate.
	StartDate string
	EndDate   string
}

func (HistoricalBarsEnd) RequestID

func (m HistoricalBarsEnd) RequestID() int

type HistoricalBarsRequest

type HistoricalBarsRequest struct {
	ReqID        int
	Contract     Contract
	EndDateTime  string
	Duration     string
	BarSize      string
	WhatToShow   string
	UseRTH       bool
	KeepUpToDate bool
}

type HistoricalDataUpdate

type HistoricalDataUpdate struct {
	ReqID    int
	BarCount int
	Time     string
	Open     string
	High     string
	Low      string
	Close    string
	Volume   string
	WAP      string
}

func (HistoricalDataUpdate) RequestID

func (m HistoricalDataUpdate) RequestID() int

type HistoricalNewsEnd

type HistoricalNewsEnd struct {
	ReqID   int
	HasMore bool
}

func (HistoricalNewsEnd) RequestID

func (m HistoricalNewsEnd) RequestID() int

type HistoricalNewsItem

type HistoricalNewsItem struct {
	ReqID        int
	Time         string
	ProviderCode string
	ArticleID    string
	Headline     string
}

func (HistoricalNewsItem) RequestID

func (m HistoricalNewsItem) RequestID() int

type HistoricalNewsRequest

type HistoricalNewsRequest struct {
	ReqID         int
	ConID         int
	ProviderCodes string
	StartDate     string
	EndDate       string
	TotalResults  int
}

type HistoricalScheduleResponse

type HistoricalScheduleResponse struct {
	ReqID         int
	StartDateTime string
	EndDateTime   string
	TimeZone      string
	Sessions      []HistoricalScheduleSession
}

HistoricalScheduleResponse is the decoded inbound response to a REQ_HISTORICAL_DATA request with whatToShow=SCHEDULE. Each session entry describes one contiguous trading window inside the requested duration. Live evidence: server_version 200 emits msg_id 106 with 5 header fields (reqID, startDateTime, endDateTime, timeZone, sessionCount) followed by 3 fields per session.

func (HistoricalScheduleResponse) RequestID

func (m HistoricalScheduleResponse) RequestID() int

type HistoricalScheduleSession

type HistoricalScheduleSession struct {
	StartDateTime string
	EndDateTime   string
	RefDate       string
}

HistoricalScheduleSession describes one trading session entry inside a HistoricalScheduleResponse. IBKR emits three string fields per session: StartDateTime, EndDateTime, and RefDate (the calendar date the session belongs to, useful when a session crosses midnight).

type HistoricalTickBidAskEntry

type HistoricalTickBidAskEntry struct {
	TickAttrib int
	Time       string
	BidPrice   string
	AskPrice   string
	BidSize    string
	AskSize    string
}

type HistoricalTickEntry

type HistoricalTickEntry struct {
	Time  string
	Price string
	Size  string
}

type HistoricalTickLastEntry

type HistoricalTickLastEntry struct {
	TickAttrib        int
	Time              string
	Price             string
	Size              string
	Exchange          string
	SpecialConditions string
}

type HistoricalTicksBidAskResponse

type HistoricalTicksBidAskResponse struct {
	ReqID int
	Ticks []HistoricalTickBidAskEntry
	Done  bool
}

func (HistoricalTicksBidAskResponse) RequestID

func (m HistoricalTicksBidAskResponse) RequestID() int

type HistoricalTicksLastResponse

type HistoricalTicksLastResponse struct {
	ReqID int
	Ticks []HistoricalTickLastEntry
	Done  bool
}

func (HistoricalTicksLastResponse) RequestID

func (m HistoricalTicksLastResponse) RequestID() int

type HistoricalTicksRequest

type HistoricalTicksRequest struct {
	ReqID         int
	Contract      Contract
	StartDateTime string
	EndDateTime   string
	NumberOfTicks int
	WhatToShow    string
	UseRTH        bool
	IgnoreSize    bool
}

type HistoricalTicksResponse

type HistoricalTicksResponse struct {
	ReqID int
	Ticks []HistoricalTickEntry
	Done  bool
}

func (HistoricalTicksResponse) RequestID

func (m HistoricalTicksResponse) RequestID() int

type IneligibilityReason

type IneligibilityReason struct {
	ID          string
	Description string
}

type LegacyServerMessage

type LegacyServerMessage interface {
	// contains filtered or unexported methods
}

LegacyServerMessage is a Gateway-to-client message retained only for the testhost's legacy symbolic server fixtures. New replay coverage uses raw, captured server frames instead.

type LockAndExitConfig

type LockAndExitConfig struct {
	AutoLogoffTime   *string
	AutoLogoffPeriod *string
	AutoLogoffType   *string
}

type MalformedCorrelation

type MalformedCorrelation struct {
	RequestID int
}

MalformedCorrelation is routing identity recovered by a message-specific classic layout after the outer frame boundary succeeded. It is deliberately absent for generic/protobuf recovery: a partial protobuf scan cannot prove last-one-wins singular-field identity.

type MalformedInbound

type MalformedInbound struct {
	MsgID       int
	Encoding    protocol.BodyEncoding
	Fields      []string
	Payload     []byte
	Correlation *MalformedCorrelation
	Err         error
}

MalformedInbound carries a self-contained frame with a trustworthy message ID whose body violates classic framing or did not match its registered decoder. The frame boundary remains trustworthy, so callers can report and skip this message without tearing down unrelated routes on the connection.

type ManagedAccounts

type ManagedAccounts struct {
	Accounts []string
}

type ManagedAccountsRequest

type ManagedAccountsRequest struct{}

ManagedAccountsRequest is the outbound reqManagedAccts message (OUT 17). The server answers with the same ManagedAccounts callback used at bootstrap.

type MarketDataReroute

type MarketDataReroute struct {
	ReqID    int
	ConID    int
	Exchange string
}

func (MarketDataReroute) RequestID

func (m MarketDataReroute) RequestID() int

type MarketDataType

type MarketDataType struct {
	ReqID    int
	DataType int
}

func (MarketDataType) RequestID

func (m MarketDataType) RequestID() int

type MarketDepthL2Update

type MarketDepthL2Update struct {
	ReqID        int
	Position     int
	MarketMaker  string
	Operation    int
	Side         int
	Price        string
	Size         string
	IsSmartDepth bool
}

func (MarketDepthL2Update) RequestID

func (m MarketDepthL2Update) RequestID() int

type MarketDepthRequest

type MarketDepthRequest struct {
	ReqID        int
	Contract     Contract
	NumRows      int
	IsSmartDepth bool
}

type MarketDepthReroute

type MarketDepthReroute struct {
	ReqID    int
	ConID    int
	Exchange string
}

func (MarketDepthReroute) RequestID

func (m MarketDepthReroute) RequestID() int

type MarketDepthUpdate

type MarketDepthUpdate struct {
	ReqID     int
	Position  int
	Operation int // 0=insert, 1=update, 2=delete
	Side      int // 0=ask, 1=bid
	Price     string
	Size      string
}

func (MarketDepthUpdate) RequestID

func (m MarketDepthUpdate) RequestID() int

type MarketRule

type MarketRule struct {
	MarketRuleID int
	Increments   []PriceIncrement
}

type MarketRuleRequest

type MarketRuleRequest struct {
	MarketRuleID int
}

type MatchingSymbols

type MatchingSymbols struct {
	ReqID   int
	Symbols []SymbolSample
}

func (MatchingSymbols) RequestID

func (m MatchingSymbols) RequestID() int

type MatchingSymbolsRequest

type MatchingSymbolsRequest struct {
	ReqID   int
	Pattern string
}

type Message

type Message any

Message is a decoded wire message.

func Decode

func Decode(sv int, payload []byte) (Message, error)

Decode decodes a framed payload into exactly one message.

func DecodeBatch

func DecodeBatch(sv int, payload []byte) ([]Message, error)

DecodeBatch decodes a framed payload into one or more messages keyed by integer msg_id.

type MessageConfig

type MessageConfig struct {
	ID            *int
	Title         *string
	Message       *string
	DefaultAction *string
	Enabled       *bool
}

type MktDepthExchanges

type MktDepthExchanges struct {
	Exchanges []DepthExchangeEntry
}

type MktDepthExchangesRequest

type MktDepthExchangesRequest struct{}

type NewsArticleRequest

type NewsArticleRequest struct {
	ReqID        int
	ProviderCode string
	ArticleID    string
}

type NewsArticleResponse

type NewsArticleResponse struct {
	ReqID       int
	ArticleType int
	ArticleText string
}

func (NewsArticleResponse) RequestID

func (m NewsArticleResponse) RequestID() int

type NewsBulletin

type NewsBulletin struct {
	MsgID    int
	MsgType  int
	Headline string
	Source   string
}

type NewsBulletinsRequest

type NewsBulletinsRequest struct {
	AllMessages bool
}

type NewsProviderEntry

type NewsProviderEntry struct {
	Code string
	Name string
}

type NewsProviders

type NewsProviders struct {
	Providers []NewsProviderEntry
}

type NewsProvidersRequest

type NewsProvidersRequest struct{}

type NextValidID

type NextValidID struct {
	OrderID int64
}

type OpenOrder

type OpenOrder struct {
	OrderID int64
	OrderDetails

	// Status at wire position r[92] of the live sv200 layout.
	Status string

	// OrderState margin/commission section (follows Status on the wire).
	InitMarginBefore               string
	MaintMarginBefore              string
	EquityWithLoanBefore           string
	InitMarginChange               string
	MaintMarginChange              string
	EquityWithLoanChange           string
	InitMarginAfter                string
	MaintMarginAfter               string
	EquityWithLoanAfter            string
	Commission                     string
	MinCommission                  string
	MaxCommission                  string
	CommissionCurrency             string
	MarginCurrency                 string
	InitMarginBeforeOutsideRTH     string
	MaintMarginBeforeOutsideRTH    string
	EquityWithLoanBeforeOutsideRTH string
	InitMarginChangeOutsideRTH     string
	MaintMarginChangeOutsideRTH    string
	EquityWithLoanChangeOutsideRTH string
	InitMarginAfterOutsideRTH      string
	MaintMarginAfterOutsideRTH     string
	EquityWithLoanAfterOutsideRTH  string
	SuggestedSize                  string
	RejectReason                   string
	Allocations                    []OrderAllocation
	WarningText                    string
}

type OpenOrderEnd

type OpenOrderEnd struct{}

type OpenOrdersRequest

type OpenOrdersRequest struct {
	Scope string
}

type OrderAllocation

type OrderAllocation struct {
	Account         string
	Position        string
	PositionDesired string
	PositionAfter   string
	DesiredAllocQty string
	AllowedAllocQty string
	IsMonetary      string
}

type OrderBound

type OrderBound struct {
	PermID   int64
	ClientID int
	OrderID  int64
}

type OrderCondition

type OrderCondition struct {
	Type          int
	Conjunction   string
	ConID         int
	Exchange      string
	Operator      int
	Value         string
	TriggerMethod int
	SecType       string
	Symbol        string
}

type OrderDetails

type OrderDetails struct {
	Contract Contract

	ClientID           string
	OrderID            string
	ParentID           string
	Action             string
	Quantity           string
	OrderType          string
	LmtPrice           string
	AuxPrice           string
	TIF                string
	OcaGroup           string
	Account            string
	OpenClose          string
	Origin             string
	OrderRef           string
	PermID             string
	OutsideRTH         string
	Hidden             string
	DiscretionAmt      string
	GoodAfterTime      string
	Transmit           string
	FAGroup            string
	FAMethod           string
	FAPercentage       string
	ModelCode          string
	GoodTillDate       string
	Rule80A            string
	PercentOffset      string
	SettlingFirm       string
	ShortSaleSlot      string
	DesignatedLocation string
	ExemptCode         string
	AuctionStrategy    string
	StartingPrice      string
	StockRefPrice      string
	Delta              string
	StockRangeLower    string
	StockRangeUpper    string
	DisplaySize        string
	SweepToFill        string
	AllOrNone          string
	MinQty             string
	OcaType            string
	TriggerMethod      string

	Volatility                     string
	VolatilityType                 string
	DeltaNeutralOrderType          string
	DeltaNeutralAuxPrice           string
	DeltaNeutralConID              string
	DeltaNeutralShortSale          string
	DeltaNeutralShortSaleSlot      string
	DeltaNeutralDesignatedLocation string
	ContinuousUpdate               string
	ReferencePriceType             string
	TrailStopPrice                 string
	TrailingPercent                string

	ComboLegsDescription string
	OrderComboLegPrices  []string
	SmartComboRouting    []TagValue

	ScaleInitLevelSize       string
	ScaleSubsLevelSize       string
	ScalePriceIncrement      string
	ScalePriceAdjustValue    string
	ScalePriceAdjustInterval string
	ScaleProfitOffset        string
	ScaleAutoReset           string
	ScaleInitPosition        string
	ScaleInitFillQty         string
	ScaleRandomPercent       string
	ScaleTable               string
	ActiveStartTime          string
	ActiveStopTime           string

	HedgeType       string
	HedgeParam      string
	HedgeMaxSize    string
	ClearingAccount string
	ClearingIntent  string
	NotHeld         string

	AlgoStrategy   string
	AlgoParams     []TagValue
	Solicited      string
	WhatIf         string
	Status         string
	RandomizeSize  string
	RandomizePrice string

	ReferenceContractID        string
	PeggedChangeAmountDecrease string
	PeggedChangeAmount         string
	ReferenceChangeAmount      string
	ReferenceExchangeID        string
	Conditions                 []OrderCondition
	ConditionsIgnoreRTH        string
	ConditionsCancelOrder      string

	AdjustedOrderType        string
	TriggerPrice             string
	StopPrice                string
	LmtPriceOffset           string
	AdjustedStopPrice        string
	AdjustedStopLimitPrice   string
	AdjustedTrailingAmount   string
	AdjustableTrailingUnit   string
	CashQty                  string
	DontUseAutoPriceForHedge string
	UsePriceMgmtAlgo         string
	AdvancedErrorOverride    string
	ManualOrderTime          string
	Deactivate               string
	PostOnly                 string
	AllowPreOpen             string
	IgnoreOpenAuction        string
	SeekPriceImprovement     string
	WhatIfType               string
	IsOMSContainer           string
	AutoCancelDate           string
	Filled                   string
	RefFuturesConID          string
	AutoCancelParent         string
	Shareholder              string
	ImbalanceOnly            string
	RouteMarketableToBBO     string
	ParentPermID             string
	CompletedTime            string
	CompletedStatus          string
	MinTradeQty              string
	MinCompeteSize           string
	CompeteAgainstBestOffset string
	MidOffsetAtWhole         string
	MidOffsetAtHalf          string
	CustomerAccount          string
	ProfessionalCustomer     string
	IncludeOvernight         string
	Submitter                string
	CommissionAndFees        string
	CommissionCurrency       string
}

type OrderStatus

type OrderStatus struct {
	OrderID       int64
	Status        string
	Filled        string
	Remaining     string
	AvgFillPrice  string
	PermID        string
	ParentID      string
	LastFillPrice string
	ClientID      string
	WhyHeld       string
	MktCapPrice   string
}

type OrdersConfig

type OrdersConfig struct {
	SmartRouting *OrdersSmartRoutingConfig
}

type OrdersSmartRoutingConfig

type OrdersSmartRoutingConfig struct {
	SeekPriceImprovement  *bool
	PreOpenReroute        *bool
	DoNotRouteToDarkPools *bool
	DefaultAlgorithm      *string
}

type OutboundMessage

type OutboundMessage interface {
	// contains filtered or unexported methods
}

OutboundMessage is a client-to-Gateway message accepted by Encode. Its unexported method keeps wire encoding owned by this package.

type PlaceOrderRequest

type PlaceOrderRequest struct {
	OrderID  int64
	Contract Contract // 14 wire fields: conId through secId

	// Core order fields
	Action        string // "BUY", "SELL", "SSHORT", "SLONG"
	TotalQuantity string // decimal string
	OrderType     string // "MKT", "LMT", "STP", "STP LMT", "TRAIL", etc.
	LmtPrice      string // empty = UNSET
	AuxPrice      string // empty = UNSET

	// Extended order fields
	TIF                     string // "DAY", "GTC", "IOC", "GTD", "OPG", "FOK", "DTC"
	OcaGroup                string
	Account                 string
	OpenClose               string
	Origin                  string // "0" = customer
	OrderRef                string
	Transmit                string // "0" or "1"
	ParentID                string // "0" = no parent
	BlockOrder              string
	SweepToFill             string
	DisplaySize             string // always a decimal digit; "0" = unset iceberg display
	TriggerMethod           string // always a decimal digit; "0" = Default
	OutsideRTH              string
	Hidden                  string
	OrderComboLegPrices     []string
	SmartComboRoutingParams []TagValue

	// FA fields
	FAGroup      string
	FAMethod     string
	FAPercentage string
	ModelCode    string

	// Short sale
	ShortSaleSlot      string
	DesignatedLocation string
	ExemptCode         string // "-1" default

	// Order type extensions
	DiscretionaryAmt              string
	GoodAfterTime                 string
	GoodTillDate                  string
	OcaType                       string
	Rule80A                       string
	SettlingFirm                  string
	AllOrNone                     string
	MinQty                        string // empty = UNSET
	PercentOffset                 string // empty = UNSET
	AuctionStrategy               string
	StartingPrice                 string // empty = UNSET
	StockRefPrice                 string // empty = UNSET
	Delta                         string // empty = UNSET
	StockRangeLower               string // empty = UNSET
	StockRangeUpper               string // empty = UNSET
	OverridePercentageConstraints string

	// Volatility
	Volatility            string // empty = UNSET
	VolatilityType        string // empty = UNSET
	DeltaNeutralOrderType string
	DeltaNeutralAuxPrice  string // empty = UNSET
	ContinuousUpdate      string
	ReferencePriceType    string // empty = UNSET

	// Trailing
	TrailStopPrice  string // empty = UNSET
	TrailingPercent string // empty = UNSET

	// Scale
	ScaleInitLevelSize       string // empty = UNSET
	ScaleSubsLevelSize       string // empty = UNSET
	ScalePriceIncrement      string // empty = UNSET
	ScalePriceAdjustValue    string // empty = UNSET
	ScalePriceAdjustInterval string // empty = UNSET
	ScaleProfitOffset        string // empty = UNSET
	ScaleAutoReset           string // empty = UNSET
	ScaleInitPosition        string // empty = UNSET
	ScaleInitFillQty         string // empty = UNSET
	ScaleRandomPercent       string // empty = UNSET
	ScaleTable               string
	ActiveStartTime          string
	ActiveStopTime           string

	// Hedge
	HedgeType  string
	HedgeParam string

	// Misc
	OptOutSmartRouting         string
	ClearingAccount            string
	ClearingIntent             string
	NotHeld                    string
	AlgoStrategy               string
	AlgoParams                 []TagValue
	AlgoID                     string
	WhatIf                     string
	OrderMiscOptions           string
	Solicited                  string
	RandomizeSize              string
	RandomizePrice             string
	ReferenceContractID        string
	PeggedChangeAmountDecrease string
	PeggedChangeAmount         string
	ReferenceChangeAmount      string
	ReferenceExchangeID        string

	// Conditions
	Conditions            []OrderCondition
	ConditionsIgnoreRTH   string
	ConditionsCancelOrder string

	// Adjusted order type
	AdjustedOrderType      string
	TriggerPrice           string // empty = UNSET
	LmtPriceOffset         string // empty = UNSET
	AdjustedStopPrice      string // empty = UNSET
	AdjustedStopLimitPrice string // empty = UNSET
	AdjustedTrailingAmount string // empty = UNSET
	AdjustableTrailingUnit string

	// Ext operator + soft dollar
	ExtOperator     string
	SoftDollarName  string
	SoftDollarValue string

	// Cash, MIFID, flags
	CashQty                     string // empty = UNSET
	Mifid2DecisionMaker         string
	Mifid2DecisionAlgo          string
	Mifid2ExecutionTrader       string
	Mifid2ExecutionAlgo         string
	DontUseAutoPriceForHedge    string
	IsOmsContainer              string
	DiscretionaryUpToLimitPrice string
	UsePriceMgmtAlgo            string // empty = UNSET
	Duration                    string // empty = UNSET
	PostToAts                   string // empty = UNSET
	AutoCancelParent            string
	AdvancedErrorOverride       string
	ManualOrderTime             string
	CustomerAccount             string
	ProfessionalCustomer        string
	IncludeOvernight            string
	ManualOrderIndicator        string // empty = UNSET
	ImbalanceOnly               string
	Deactivate                  string
	PostOnly                    string
	AllowPreOpen                string
	IgnoreOpenAuction           string
	RouteMarketableToBBO        string // empty = server default; 0 or 1 when explicit
	SeekPriceImprovement        string // empty = server default; 0 or 1 when explicit
	WhatIfType                  string // empty = UNSET
	HedgeMaxSize                string // empty = UNSET

	AttachedStopLossOrderID     int64
	AttachedStopLossOrderType   string
	AttachedTakeProfitOrderID   int64
	AttachedTakeProfitOrderType string
}

PlaceOrderRequest encodes a new or modified order (outbound msg_id=3). At server_version >= 145 there is no version field. All fields are strings on the wire; UNSET float/int values are encoded as empty string "".

type PnLRequest

type PnLRequest struct {
	ReqID     int
	Account   string
	ModelCode string
}

type PnLSingleRequest

type PnLSingleRequest struct {
	ReqID     int
	Account   string
	ModelCode string
	ConID     int
}

type PnLSingleValue

type PnLSingleValue struct {
	ReqID         int
	Position      string
	DailyPnL      string
	UnrealizedPnL string
	RealizedPnL   string
	Value         string
}

func (PnLSingleValue) RequestID

func (m PnLSingleValue) RequestID() int

type PnLValue

type PnLValue struct {
	ReqID         int
	DailyPnL      string
	UnrealizedPnL string
	RealizedPnL   string
}

func (PnLValue) RequestID

func (m PnLValue) RequestID() int

type Position

type Position struct {
	Account  string
	Contract Contract
	Position string
	AvgCost  string
}

type PositionEnd

type PositionEnd struct{}

type PositionMulti

type PositionMulti struct {
	ReqID     int
	Account   string
	ModelCode string
	Contract  Contract
	Position  string
	AvgCost   string
}

func (PositionMulti) RequestID

func (m PositionMulti) RequestID() int

type PositionMultiEnd

type PositionMultiEnd struct {
	ReqID int
}

func (PositionMultiEnd) RequestID

func (m PositionMultiEnd) RequestID() int

type PositionsMultiRequest

type PositionsMultiRequest struct {
	ReqID     int
	Account   string
	ModelCode string
}

type PositionsRequest

type PositionsRequest struct{}

type PriceIncrement

type PriceIncrement struct {
	LowEdge   string
	Increment string
}

type QueryDisplayGroupsRequest

type QueryDisplayGroupsRequest struct {
	ReqID int
}

type QuoteRequest

type QuoteRequest struct {
	ReqID              int
	Contract           Contract
	Snapshot           bool
	RegulatorySnapshot bool
	GenericTicks       []string
}

type RealTimeBar

type RealTimeBar struct {
	ReqID  int
	Time   string
	Open   string
	High   string
	Low    string
	Close  string
	Volume string
	WAP    string
	Count  string
}

func (RealTimeBar) RequestID

func (m RealTimeBar) RequestID() int

type RealTimeBarsRequest

type RealTimeBarsRequest struct {
	ReqID      int
	Contract   Contract
	WhatToShow string
	UseRTH     bool
}

type ReceiveFA

type ReceiveFA struct {
	FADataType int
	XML        string
}

type ReqIDer

type ReqIDer interface{ RequestID() int }

ReqIDer is implemented by every inbound message the engine routes by request ID. OpenOrder, OrderStatus, and CompletedOrder deliberately do not implement it: they carry an order ID, not a request ID, and route through the order-handle dispatch instead.

type ReqIDsRequest

type ReqIDsRequest struct {
	NumIDs int
}

ReqIDsRequest is the outbound reqIds message (OUT 8). The server responds with a NextValidID frame (msg_id 9) carrying the next available order ID. NumIDs is a legacy parameter kept at 1 in the official EClient.

type ReqMarketDataType

type ReqMarketDataType struct {
	DataType int
}

type RequestFA

type RequestFA struct {
	FADataType int // 1=Groups, 2=Profiles, 3=AccountAliases
}

type ScannerDataEntry

type ScannerDataEntry struct {
	Rank       int
	Contract   Contract
	MarketName string
	Distance   string
	Benchmark  string
	Projection string
	LegsStr    string
}

type ScannerDataResponse

type ScannerDataResponse struct {
	ReqID   int
	Entries []ScannerDataEntry
}

func (ScannerDataResponse) RequestID

func (m ScannerDataResponse) RequestID() int

type ScannerParameters

type ScannerParameters struct {
	XML string
}

type ScannerParametersRequest

type ScannerParametersRequest struct{}

type ScannerSubscriptionRequest

type ScannerSubscriptionRequest struct {
	ReqID                    int
	NumberOfRows             int
	Instrument               string
	LocationCode             string
	ScanCode                 string
	AbovePrice               string
	BelowPrice               string
	AboveVolume              string
	MarketCapAbove           string
	MarketCapBelow           string
	MoodyRatingAbove         string
	MoodyRatingBelow         string
	SPRatingAbove            string
	SPRatingBelow            string
	MaturityDateAbove        string
	MaturityDateBelow        string
	CouponRateAbove          string
	CouponRateBelow          string
	ExcludeConvertible       string
	AverageOptionVolumeAbove string
	ScannerSettingPairs      string
	StockTypeFilter          string
	FilterOptions            []TagValue
	SubscriptionOptions      []TagValue
}

type SecDefOptParamsEnd

type SecDefOptParamsEnd struct {
	ReqID int
}

func (SecDefOptParamsEnd) RequestID

func (m SecDefOptParamsEnd) RequestID() int

type SecDefOptParamsRequest

type SecDefOptParamsRequest struct {
	ReqID             int
	UnderlyingSymbol  string
	FutFopExchange    string
	UnderlyingSecType string
	UnderlyingConID   int
}

type SecDefOptParamsResponse

type SecDefOptParamsResponse struct {
	ReqID           int
	Exchange        string
	UnderlyingConID int
	TradingClass    string
	Multiplier      string
	Expirations     []string
	Strikes         []string
}

func (SecDefOptParamsResponse) RequestID

func (m SecDefOptParamsResponse) RequestID() int

type ServerInfo

type ServerInfo struct {
	ServerVersion  int
	ConnectionTime string
}

func DecodeServerInfo

func DecodeServerInfo(payload []byte) (ServerInfo, error)

DecodeServerInfo parses the server info frame returned during the handshake.

type SmartComponentEntry

type SmartComponentEntry struct {
	BitNumber      int
	ExchangeName   string
	ExchangeLetter string
}

type SmartComponentsRequest

type SmartComponentsRequest struct {
	ReqID       int
	BBOExchange string
}

type SmartComponentsResponse

type SmartComponentsResponse struct {
	ReqID      int
	Components []SmartComponentEntry
}

func (SmartComponentsResponse) RequestID

func (m SmartComponentsResponse) RequestID() int

type SoftDollarTier

type SoftDollarTier struct {
	Name        string
	Value       string
	DisplayName string
}

type SoftDollarTiersRequest

type SoftDollarTiersRequest struct {
	ReqID int
}

type SoftDollarTiersResponse

type SoftDollarTiersResponse struct {
	ReqID int
	Tiers []SoftDollarTier
}

func (SoftDollarTiersResponse) RequestID

func (m SoftDollarTiersResponse) RequestID() int

type StartAPI

type StartAPI struct {
	ClientID             int
	OptionalCapabilities string
}

type SubscribeToGroupEventsRequest

type SubscribeToGroupEventsRequest struct {
	ReqID   int
	GroupID int
}

type SymbolSample

type SymbolSample struct {
	ConID              int
	Symbol             string
	SecType            string
	PrimaryExchange    string
	Currency           string
	DerivativeSecTypes []string
	Description        string
	IssuerID           string
}

type TagValue

type TagValue struct {
	Tag   string
	Value string
}

type TickByTickData

type TickByTickData struct {
	ReqID             int
	TickType          int
	Time              string
	Price             string
	Size              string
	Exchange          string
	SpecialConditions string
	BidPrice          string
	AskPrice          string
	BidSize           string
	AskSize           string
	MidPoint          string
	// TickAttrib bitmasks
	TickAttribLast   int
	TickAttribBidAsk int
}

func (TickByTickData) RequestID

func (m TickByTickData) RequestID() int

type TickByTickRequest

type TickByTickRequest struct {
	ReqID         int
	Contract      Contract
	TickType      string
	NumberOfTicks int
	IgnoreSize    bool
}

type TickEFP

type TickEFP struct {
	ReqID                    int
	TickType                 int
	BasisPoints              string
	FormattedBasisPoints     string
	ImpliedFuturesPrice      string
	HoldDays                 int
	FutureLastTradeDate      string
	DividendImpact           string
	DividendsToLastTradeDate string
}

func (TickEFP) RequestID

func (m TickEFP) RequestID() int

type TickGeneric

type TickGeneric struct {
	ReqID    int
	TickType int
	Value    string
}

func (TickGeneric) RequestID

func (m TickGeneric) RequestID() int

type TickNews

type TickNews struct {
	ReqID        int
	Time         string
	ProviderCode string
	ArticleID    string
	Headline     string
	ExtraData    string
}

TickNews is one contract-specific news headline delivered through a market data subscription. Time preserves IBKR's epoch-millisecond wire value.

func (TickNews) RequestID

func (m TickNews) RequestID() int

type TickOptionComputation

type TickOptionComputation struct {
	ReqID      int
	TickType   int
	TickAttrib int
	ImpliedVol string
	Delta      string
	OptPrice   string
	PvDividend string
	Gamma      string
	Vega       string
	Theta      string
	UndPrice   string
}

func (TickOptionComputation) RequestID

func (m TickOptionComputation) RequestID() int

type TickPrice

type TickPrice struct {
	ReqID    int
	TickType int
	Price    string
	Size     string // companion size from the same frame
	AttrMask int    // tick attrib bitmask
}

func (TickPrice) RequestID

func (m TickPrice) RequestID() int

type TickReqParams

type TickReqParams struct {
	ReqID               int
	MinTick             string
	BBOExchange         string
	SnapshotPermissions *int
	LastPricePrecision  string
	LastSizePrecision   string
}

func (TickReqParams) RequestID

func (m TickReqParams) RequestID() int

type TickSize

type TickSize struct {
	ReqID    int
	TickType int
	Size     string
}

func (TickSize) RequestID

func (m TickSize) RequestID() int

type TickSnapshotEnd

type TickSnapshotEnd struct {
	ReqID int
}

func (TickSnapshotEnd) RequestID

func (m TickSnapshotEnd) RequestID() int

type TickString

type TickString struct {
	ReqID    int
	TickType int
	Value    string
}

func (TickString) RequestID

func (m TickString) RequestID() int

type UnknownInbound

type UnknownInbound struct {
	MsgID    int
	Encoding protocol.BodyEncoding
	Fields   []string
	Payload  []byte
}

UnknownInbound carries a frame whose msg_id has no registered decoder. An unmapped id is not a protocol violation: the Gateway grows new message ids over time, and killing the session over one (the pre-fix failure mode) tears down every subscription and order handle. The engine surfaces these as session events so drift stays observable; the raw fields are preserved for diagnosis.

type UnsubscribeFromGroupEventsRequest

type UnsubscribeFromGroupEventsRequest struct {
	ReqID int
}

type UpdateAccountTime

type UpdateAccountTime struct {
	Timestamp string
}

type UpdateAccountValue

type UpdateAccountValue struct {
	Key      string
	Value    string
	Currency string
	Account  string
}

type UpdateDisplayGroupRequest

type UpdateDisplayGroupRequest struct {
	ReqID        int
	ContractInfo string
}

type UpdatePortfolio

type UpdatePortfolio struct {
	Contract      Contract
	Position      string
	MarketPrice   string
	MarketValue   string
	AvgCost       string
	UnrealizedPNL string
	RealizedPNL   string
	Account       string
}

type UserInfo

type UserInfo struct {
	ReqID           int
	WhiteBrandingID string
}

func (UserInfo) RequestID

func (m UserInfo) RequestID() int

type UserInfoRequest

type UserInfoRequest struct {
	ReqID int
}

type WSHEventDataRequest

type WSHEventDataRequest struct {
	ReqID           int
	ConID           int
	Filter          string
	FillWatchlist   bool
	FillPortfolio   bool
	FillCompetitors bool
	StartDate       string
	EndDate         string
	TotalLimit      int
}

type WSHEventDataResponse

type WSHEventDataResponse struct {
	ReqID    int
	DataJSON string
}

func (WSHEventDataResponse) RequestID

func (m WSHEventDataResponse) RequestID() int

type WSHMetaDataRequest

type WSHMetaDataRequest struct {
	ReqID int
}

type WSHMetaDataResponse

type WSHMetaDataResponse struct {
	ReqID    int
	DataJSON string
}

func (WSHMetaDataResponse) RequestID

func (m WSHMetaDataResponse) RequestID() int

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL