alpacahq/alpaca-trade-api-csharp

[QUESTION]: Multithreading behavior of the IStreamingClient Interface

Closed this issue · 2 comments

Is there an existing issue for this?

  • I have searched the existing issues

What is your question?

Can developers of the project please confirm if the IStreamingClient uses one and only one thread to emit the data received from the websocket server?

I have viewed the source codes and it looks like the data emission logic is single-threaded. But for safety I just wanted to double-check this with project developers.

Thank you so much,

Anything else?

No response

@Chacoon3 You are right; all input messages are deserialized in one thread, and every subscription event is handled in a single thread. If your handlers are time-consuming, this input message queue will grow, so try to keep streaming event handlers as small as possible.

@Chacoon3 You are right; all input messages are deserialized in one thread, and every subscription event is handled in a single thread. If your handlers are time-consuming, this input message queue will grow, so try to keep streaming event handlers as small as possible.

Thank you for confirming!