question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Stream]Multiple NettyStreamingService error and (re)connection handling

See original GitHub issue

Right now, I can’t implement

class GeminiStreamingExchange { @Override public Observable<Throwable> reconnectFailure() { return streamingService.subscribeReconnectFailure(); } @Override public Observable<Object> connectionSuccess() { return streamingService.subscribeConnectionSuccess(); } }

Because Gemini is using several GeminiProductStreamingService (which derives from [Json]NettyStreamingService) instead of a single JsonNettyStreamingService private Map<CurrencyPair, GeminiProductStreamingService> productStreamingServices;

This also applies to other services which have two JsonNettyStreamingService instances (one for market data one for private data).

Any thoughts, on how we can aggregate these events across multiple instances?

_Originally posted by @mdvx in https://github.com/knowm/XChange/pull/3533#issuecomment-633318275_

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:13 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
mdvxcommented, May 25, 2020

And maybe add READY, once client re-initialize after connect has been complete?

enum StreamState { DISCONNECTED, PARTIALLY_CONNECTED, CONNECTED, READY }

1reaction
mdvxcommented, May 25, 2020

I like the way this is going. Can we now extend this cover re-connections?

T A B Result
0 Connecting DISCONNECTED
1 Connected CONNECTED
2 Connected Connecting PARTIALLY_CONNECTED
3 Connected Connected CONNECTED
4 Disconnected Connected PARTIALLY_CONNECTED
5 Disconnected Disconnected DISCONNECTED
6 Connecting Disconnected DISCONNECTED
7 Connected Disconnected PARTIALLY_CONNECTED
Read more comments on GitHub >

github_iconTop Results From Across the Web

HTTP/2 Data Frame Error Case Handling · Issue #3557 - GitHub
We should investigate how we behave when we receive a DATA frame and the stream state is not OPEN or HALF CLOSED. We...
Read more >
How to Avoid Common Mistakes When Using Reactor Netty
"In Spring Boot 2.x, Reactor Netty is the default runtime for creating reactive applications. Since the very first release of Reactor Netty, ...
Read more >
Is anyone else having errors with Netty using Storm?
The netty error reporting in storm is very poor as all it tells you is that it cannot connect to something at a...
Read more >
one grpc server for both unary and bidi stream with netty
Use a single server. The boss thread is only used for accept()ing new connections. It isn't used for the actual processing.
Read more >
Reactor Netty Reference Guide
Reactor Netty provides an easy to use and configure TcpServer . It hides most of the Netty functionality that is needed to create...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found