Push Client

SetCallbacks

Purpose

Replaces the callback set used to dispatch push connection, market-data, and account events.

Signature

func (c *PushClient) SetCallbacks(cb Callbacks)

This method only accesses local client state; it sends no server request and declares no market or account permission.

Parameters

ParameterTypeRequiredSDK defaultConstraints
cbCallbacksYesNoneCallback set; handlers left unset remain nil

Returns

Returns no value.

Invocation example

pc.SetCallbacks(push.Callbacks{OnConnect: func() { fmt.Println("connected") }})

This method returns no response object.


Connect

Purpose

Opens the TLS push connection, authenticates it, waits for CONNECTED, and starts heartbeats.

Signature

func (c *PushClient) Connect() error

Call Connect successfully before subscribing or unsubscribing. Access depends on instrument and data type.

Parameters

No parameters.

Returns

error; nil means the message was written to the current connection.

Invocation example

if err := pc.Connect(); err != nil {
	log.Fatal(err)
}

Disconnect

Purpose

Sends DISCONNECT, closes the transport, waits for reader shutdown, and invokes OnDisconnect.

Signature

func (c *PushClient) Disconnect() error

Call Connect successfully before subscribing or unsubscribing. Access depends on instrument and data type.

Parameters

No parameters.

Returns

error; nil means the message was written to the current connection.

Invocation example

if err := pc.Disconnect(); err != nil {
	log.Fatal(err)
}

State

Purpose

Returns the current local push connection state.

Signature

func (c *PushClient) State() ConnectionState

This method only accesses local client state; it sends no server request and declares no market or account permission.

Parameters

No parameters.

Returns

ConnectionState

Invocation example

result := pc.State()
fmt.Printf("%#v\n", result)
0

GetSubscriptions

Purpose

Returns a copy of locally tracked symbol subscriptions grouped by subject.

Signature

func (c *PushClient) GetSubscriptions() map[SubjectType][]string

This method only accesses local client state; it sends no server request and declares no market or account permission.

Parameters

No parameters.

Returns

map[SubjectType][]string

Invocation example

result := pc.GetSubscriptions()
fmt.Printf("%#v\n", result)
{
  "0": ["AAPL"]
}

GetAccountSubscriptions

Purpose

Returns locally tracked account-level subscription subjects.

Signature

func (c *PushClient) GetAccountSubscriptions() []SubjectType

This method only accesses local client state; it sends no server request and declares no market or account permission.

Parameters

No parameters.

Returns

[]SubjectType

Invocation example

result := pc.GetAccountSubscriptions()
fmt.Printf("%#v\n", result)
[0]


Did this page help you?