Comments (16)
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.
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.
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:
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.
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.
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.
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.
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.
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.
@IV2KBMoFxYIA @voros1 @avil-jc01 Share on which endpoints do you observe this behavior?
from dxlink.
@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.
@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.
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.
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.
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.
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.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dxlink.