MCPcopy Index your code
hub / github.com/ccxt/ccxt / watch

Method watch

java/lib/src/main/java/io/github/ccxt/Exchange.java:1684–1708  ·  view source on GitHub ↗
(Object url, Object messageHash2, Object message, Object subscribeHash2, Object subscription)

Source from the content-addressed store, hash-verified

1682 }
1683
1684 public CompletableFuture<Object> watch(Object url, Object messageHash2, Object message, Object subscribeHash2, Object subscription) {
1685 String messageHash = messageHash2.toString();
1686 String subscribeHash = subscribeHash2 != null ? subscribeHash2.toString() : messageHash;
1687 var client = this.client(url);
1688
1689 io.github.ccxt.ws.Future future = client.future(messageHash);
1690
1691 if (client.subscriptionsMap().putIfAbsent(subscribeHash, subscription != null ? subscription : true) == null) {
1692 client.connect(0).thenAccept(connected -> {
1693 if (message != null) {
1694 try {
1695 client.send(message);
1696 } catch (Exception ex) {
1697 client.subscriptionsMap().remove(subscribeHash);
1698 future.reject(ex);
1699 }
1700 }
1701 }).exceptionally(ex -> {
1702 client.subscriptionsMap().remove(subscribeHash);
1703 future.reject(ex);
1704 return null;
1705 });
1706 }
1707 return future.getFuture();
1708 }
1709
1710 // Note: a single subscribe message is sent for all symbols, matching JS/C# design.
1711 // Exchange-specific code is responsible for building the message with all symbols.

Callers 15

watchBalanceMethod · 0.45
authenticateMethod · 0.45
watchTradesMethod · 0.45
watchOrderBookMethod · 0.45
watchTickerMethod · 0.45
watchOrdersMethod · 0.45
watchFundingRateMethod · 0.45
watchOrderBookMethod · 0.45
watchPrivateMethod · 0.45
watchFundingRateMethod · 0.45
watchMarkPriceMethod · 0.45
watchTradesMethod · 0.45

Calls 9

clientMethod · 0.95
subscriptionsMapMethod · 0.80
getFutureMethod · 0.80
rejectMethod · 0.65
toStringMethod · 0.45
futureMethod · 0.45
connectMethod · 0.45
sendMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected