Giter VIP home page Giter VIP logo

Comments (16)

voros1 avatar voros1 commented on August 22, 2024 1

I'm using wss://tasty-live-ws.dxfeed.com/realtime

the server notifies by FEED_CONFIG you in what format it will actually return the data.
Yes, but it was changing minute by minute. I'd been happily using these endpoints for a long time with FULL, when I suddenly started getting COMPACT results.
These days, I simply detect the data type and use either.

from dxlink.

avil-jc01 avatar avil-jc01 commented on August 22, 2024

Hello @IV2KBMoFxYIA - I think you are having the same issue as me in #6

When you are setting up the websocket connection, try printing to debug what the responses are to your messages. I bet you when you send FEED_SETUP containing dataFormat = FULL, you are getting back COMPACT anyway.

This seems to be a change in the backend service a few weeks ago. This (and these) repositories on github appear to be clients - I'm hoping someone on the client team sees these issues and forwards them to the backend team.

from dxlink.

voros1 avatar voros1 commented on August 22, 2024

When I sent FEED_SETUP -> FULL (or when I don't), I seem to randomly get back FULL or COMPACT. I can not find a pattern, but it does some like it happens in streaks. I came across this in TT documentation:
image

I've decided to update my code to detect FULL vs COMPACT data and to properly handle both (ie, I manually deserialize the latter case).

from dxlink.

avil-jc01 avatar avil-jc01 commented on August 22, 2024

Great find - can you provide a link to the source of your screenshot? I don't communicate directly with dxfeed, so I don't get API notices and changes.

I guess that solves the mystery though - looks like I will also have to support de-serialization of the COMPACT data format. I'm not excited by the API contract not being respected though - we have warnings and errors for this kind of stuff.

from dxlink.

voros1 avatar voros1 commented on August 22, 2024

It's here:
https://developer.tastytrade.com/streaming-market-data/#get-api-quote-tokens (but this is behind a login wall, so probably not helpful)
The link in the screenshot goes here:
https://demo.dxfeed.com/dxlink-ws/debug/#/protocol (which doesn't say anything about that fact).
Interestingly, the demo console on that page does not appear to work for SETUP, and seems to be sending back FULL responses.
I really don't like it either - it's fine to have multiple formats, and I understand why COMPACT could be considered better. But you can't just randomly switch back and forth minute by minute.

from dxlink.

avil-jc01 avatar avil-jc01 commented on August 22, 2024

Yep I've seen that debug protocol page before, it definitely is a mock-up and not a true reference implementation - exactly as you describe. Nothing in the changelog(s) on dxfeed website either about dropping FULL support.

Ah well. At least we can find each other and troubleshoot in Github.

from dxlink.

IV2KBMoFxYIA avatar IV2KBMoFxYIA commented on August 22, 2024

Yea, I didn't even know the terms FULL and COMPACT. lol. I just saw that I was getting a different format and dealt with it. So yea I am handling both now and no issues.

from dxlink.

Fyzu avatar Fyzu commented on August 22, 2024

FEED_SETUP parameters are just a declaration of the desire of the client, the server notifies by FEED_CONFIG you in what format it will actually return the data.

Some endpoints may have stricter settings on the option to choose from.

To better understand the protocol, read the description here

from dxlink.

Fyzu avatar Fyzu commented on August 22, 2024

@IV2KBMoFxYIA @voros1 @avil-jc01 Share on which endpoints do you observe this behavior?

from dxlink.

IV2KBMoFxYIA avatar IV2KBMoFxYIA commented on August 22, 2024

@IV2KBMoFxYIA @voros1 @avil-jc01 Share on which endpoints do you observe this behavior?

I am not sure what you mean by which endpoint? its the web socket connection.

from dxlink.

Fyzu avatar Fyzu commented on August 22, 2024

@IV2KBMoFxYIA @voros1 @avil-jc01 Share on which endpoints do you observe this behavior?

I am not sure what you mean by which endpoint? its the web socket connection.

Could you please provide the URL of the dxLink server you use when you observe this behavior? e.g. wss://demo.dxfeed.com/dxlink-ws

from dxlink.

avil-jc01 avatar avil-jc01 commented on August 22, 2024

FEED_SETUP parameters are just a declaration of the desire of the client, the server notifies by FEED_CONFIG you in what format it will actually return the data.

While this fully explains the unexpected behavior, nowhere in the documentation does it state that FEED_SETUP params are a "declaration of desire" - my base expectation in any client/server relationship is that either a) the server executes the client request or b) returns a sane error/warning/exception. It is in my opinion a bug to silently ignore or drop a submitted FEED_SETUP param request and continue with the transactions with no error message.

Can you provide any other example of a reputable API behaving the same way: client requests params for future transactions and server silently ignores them (no error/warning/exception) and continues with some other params?

from dxlink.

voros1 avatar voros1 commented on August 22, 2024

As best as I can tell, FEED_SETUP does nothing. In the demo console, pressing the Setup button literally does not send a message.

from dxlink.

Fyzu avatar Fyzu commented on August 22, 2024

FEED_SETUP parameters are just a declaration of the desire of the client, the server notifies by FEED_CONFIG you in what format it will actually return the data.

While this fully explains the unexpected behavior, nowhere in the documentation does it state that FEED_SETUP params are a "declaration of desire" - my base expectation in any client/server relationship is that either a) the server executes the client request or b) returns a sane error/warning/exception. It is in my opinion a bug to silently ignore or drop a submitted FEED_SETUP param request and continue with the transactions with no error message.

Can you provide any other example of a reputable API behaving the same way: client requests params for future transactions and server silently ignores them (no error/warning/exception) and continues with some other params?

Thank you for your feedback, we will add more explanation to the protocol description.

from dxlink.

Fyzu avatar Fyzu commented on August 22, 2024

As best as I can tell, FEED_SETUP does nothing. In the demo console, pressing the Setup button literally does not send a message.

This is a known issue, and will be fixed in the next release.

from dxlink.

Fyzu avatar Fyzu commented on August 22, 2024

I'm using wss://tasty-live-ws.dxfeed.com/realtime

the server notifies by FEED_CONFIG you in what format it will actually return the data.
Yes, but it was changing minute by minute. I'd been happily using these endpoints for a long time with FULL, when I suddenly started getting COMPACT results.
These days, I simply detect the data type and use either.

Thank you for your response! Unfortunately, the issue isn't related to dxLink.
Please reach out to the support team of the endpoint provider, as they might be able to assist you with this matter.

from dxlink.

Related Issues (7)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.