Skip to content

feat(java): WebSocket support with Netty - #6

Open
pcriadoperez wants to merge 1762 commits into
java-base-improvementsfrom
java-websockets-pr
Open

feat(java): WebSocket support with Netty#6
pcriadoperez wants to merge 1762 commits into
java-base-improvementsfrom
java-websockets-pr

Conversation

@pcriadoperez

Copy link
Copy Markdown
Owner

Summary

  • Netty-based WsClient with permessage-deflate, SSL/proxy, ping/pong keep-alive, reconnection support
  • WebSocket data structures: Future (resolve/reject/race), OrderBookSide (sorted bisect), WsOrderBook (snapshot+delta), ArrayCache (FIFO with dedup and newUpdates tracking)
  • Exchange.watch()/watchMultiple() subscription pipeline matching JS/C#/Go/Python architecture
  • Transpiler --ws flag auto-generates all 77 WS exchange classes from TypeScript with zero manual patches
  • Quality: AtomicBoolean in Future.race(), EventLoopGroup shutdown hook, thread-safe ArrayCache, Inflater leak fix

@pcriadoperez
pcriadoperez marked this pull request as ready for review March 30, 2026 00:10
github-actions Bot and others added 29 commits April 8, 2026 09:17
* Added auth token caching

* Changed options format

* Removed wrong default value

* Set default token expiry to 8 hours

* add comment

---------

Co-authored-by: carlosmiei <43336371+carlosmiei@users.noreply.github.com>
* Sort websocket trades chronologically

* Sort websocket liquidation trades chronologically

* Clearer variable naming

* Sort websocket order trades chronologically

* Fix php transpiled code
…ests (ccxt#28365)

* test: get exchange prop bothcase

* feat(getProp): get prop value for exchange

* props

* test: afterConstruct fix

* exProp

* change func

* transpiler

* getprop helper
github-actions Bot and others added 30 commits April 15, 2026 17:47
    This commit was created by changelog-from-release in 'On release published (pushback changelog)' CI workflow
* test: show url on failure

* empty for ws

* sort
The CI pipeline runs transpileJava but never ran generateJavaWrappers.ts,
so typed wrapper classes (Binance extends BinanceCore) were never
generated in CI. dynamicallyCreateInstance returned null → NPE in
id-tests and all test runners.

Fix: chain generateJavaWrappers.ts after javaTranspiler.ts in both
transpileJava and transpileJavaSingle npm scripts.
fix(bitget): map error code 40917 to InvalidOrder
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.