Constructor
Optional
options: StreamingClient.OptionsStreaming client options AsyncCreatable.create
Subscribe to streaming events. When the streaming processor that's set in the options completes execution it returns a payload in the StatusResult object. The payload is just echoed here for convenience.
Throws SfError{ name: 'StreamingClient.TimeoutErrorType.SUBSCRIBE'} When the subscribe timeout occurs.
Optional
streamInit: (() => Promise<void>)This function should call the platform apis that result in streaming updates on push topics. StatusResult
Api wrapper to support Salesforce streaming. The client contains an internal implementation of a cometd specification.
Salesforce client and timeout information
Streaming API imposes two timeouts, as supported in the Bayeux protocol.
Socket timeout: 110 seconds A client receives events (JSON-formatted HTTP responses) while it waits on a connection. If no events are generated and the client is still waiting, the connection times out after 110 seconds and the server closes the connection. Clients should reconnect before two minutes to avoid the connection timeout.
Reconnect timeout: 40 seconds After receiving the events, a client needs to reconnect to receive the next set of events. If the reconnection doesn't happen within 40 seconds, the server expires the subscription and the connection is closed. If this happens, the client must start again and handshake, subscribe, and connect. Each Streaming API client logs into an instance and maintains a session. When the client handshakes, connects, or subscribes, the session timeout is restarted. A client session times out if the client doesn’t reconnect to the server within 40 seconds after receiving a response (an event, subscribe result, and so on).
Note that these timeouts apply to the Streaming API client session and not the Salesforce authentication session. If the client session times out, the authentication session remains active until the organization-specific timeout policy goes into effect.