Regarding data compression request in CSharp Simplified streaming API

Hi


I am using Csharp MarketPriceExample of EAP (Early Aceess Program) -> TR's Simplified Streaming API.
I am aware that we can enable data compression in Simplified API .(i.e. permessage-deflate compression ) . I have a question regarding how we can request compressed data in CSharp MarketPriceExample ?


Look Like CSharp example is using open source websocketsharp dll.
I had a look into websocket-sharp dll document for compression here -> https://github.com/sta/websocket-sharp#per-message-compression

i.e.

"As a WebSocket client, if you would like to enable this extension, you should set the WebSocket.Compression property to a compression method before calling the connect method.
ws.Compression = CompressionMethod.Deflate;

And then the client will send the following header in the handshake request to the server.
Sec-WebSocket-Extensions: permessage-deflate; server_no_context_takeover; client_no_context_takeover
"

Anyhow i am not able to set the header while requesting data from simplified streaming ?

Could you please suggest how we can add that compression request part in MarketPriceExample code for Simplified Streaming ?

Best Answer

  • jim.carroll
    Answer ✓

    Hi Vaibhav,

    WebSocketSharp only supports compression without a compression context (where compression of previous messages does not affect how future messages are compressed). It therefore includes the 'no-context-takeover' extension parameters in the request.

    The ADS uses a context when sending messages to achieve better compression. Accordingly it does not echo back the request for no-context-takeover. We may add support for compression without a context in a future release.

Answers