public class WsProvider extends java.lang.Object implements IWsProvider
WsProviderDir
The WebSocket Provider allows sending requests using WebSocket to a WebSocket RPC server TCP port. Unlike the HttpProvider, it does support subscriptions and allows listening to events such as new blocks or balance changes. Example
import org.polkadot.rpc.provider.ws.WsProviderDir;
WsProviderDir provider = new WsProviderDir('ws://127.0.0.1:9944');
HttpProvider
Modifier and Type | Class and Description |
---|---|
static class |
WsProvider.WsStateAwaiting<T> |
IProvider.CallbackHandler<T,U>, IProvider.ProviderInterfaceEmitCb, IProvider.ProviderInterfaceEmitted, IProvider.SubscriptionHandler
Constructor and Description |
---|
WsProvider() |
WsProvider(java.lang.String endpoint) |
WsProvider(java.lang.String endpoint,
boolean autoConnect) |
Modifier and Type | Method and Description |
---|---|
IProvider |
clone()
Returns a clone of the object
|
void |
connect()
Manually connect The WsProviderDir connects automatically by default, however if you decided otherwise, you may connect manually using this method.
|
void |
disconnect()
Manually disconnect from the connection, clearing autoconnect logic
|
RpcCoder |
getCoder() |
java.lang.String |
getEndpoint() |
java.util.Queue<java.lang.String> |
getQueued() |
java.util.Map<java.lang.String,Types.JsonRpcResponse> |
getWaitingForId() |
WebSocket |
getWebSocket() |
boolean |
isAutoConnect() |
boolean |
isConnected() |
boolean |
isHasSubscriptions()
true when this provider supports subscriptions |
void |
on(IProvider.ProviderInterfaceEmitted emitted,
EventEmitter.EventListener cb) |
<any> |
send(java.lang.String method,
java.util.List<java.lang.Object> params,
IProvider.SubscriptionHandler subscription) |
void |
setAutoConnect(boolean autoConnect) |
void |
setCoder(RpcCoder coder) |
void |
setConnected(boolean connected) |
void |
setEndpoint(java.lang.String endpoint) |
void |
setQueued(java.util.LinkedList<java.lang.String> queued) |
void |
setWaitingForId(java.util.Map<java.lang.String,Types.JsonRpcResponse> waitingForId) |
void |
setWebSocket(WebSocketClient webSocket) |
<any> |
subscribe(java.lang.String type,
java.lang.String method,
java.util.List<java.lang.Object> params,
IProvider.CallbackHandler cb) |
<any> |
unsubscribe(java.lang.String type,
java.lang.String method,
int id)
Allows unsubscribing to subscriptions made with subscribe.
|
public WsProvider()
public WsProvider(java.lang.String endpoint)
endpoint
- The endpoint url. Usually ws://ip:9944
or wss://ip:9944
public WsProvider(java.lang.String endpoint, boolean autoConnect)
endpoint
- The endpoint url. Usually ws://ip:9944
or wss://ip:9944
autoConnect
- Whether to connect automatically or not.public void connect()
Manually connect The WsProviderDir connects automatically by default, however if you decided otherwise, you may connect manually using this method.
connect
in interface IWsProvider
public <any> send(java.lang.String method, java.util.List<java.lang.Object> params, IProvider.SubscriptionHandler subscription)
public boolean isHasSubscriptions()
true
when this provider supports subscriptions
isHasSubscriptions
in interface IProvider
public IProvider clone()
Returns a clone of the object
public void disconnect()
Manually disconnect from the connection, clearing autoconnect logic
disconnect
in interface IProvider
public boolean isConnected()
isConnected
in interface IProvider
public void on(IProvider.ProviderInterfaceEmitted emitted, EventEmitter.EventListener cb)
public <any> subscribe(java.lang.String type, java.lang.String method, java.util.List<java.lang.Object> params, IProvider.CallbackHandler cb)
subscribe
in interface IProvider
{string}
- type Subscription type{string}
- method Subscription method{Array}
- params Parameters{ProviderInterface$Callback}
- callback CallbackWsProviderDir provider = new WsProviderDir("ws://127.0.0.1:9944");
Rpc rpc = new Rpc(provider);
rpc.state.subscribeStorage(storage.balances.freeBalance, <Address>, (_, values) => {
System.out.println(values)
}).then((subscriptionId) => {
System.out.print("balance changes subscription id: ")
System.out.println(subscriptionId)
})
public <any> unsubscribe(java.lang.String type, java.lang.String method, int id)
Allows unsubscribing to subscriptions made with subscribe.
unsubscribe
in interface IProvider
public void setConnected(boolean connected)
public boolean isAutoConnect()
public void setAutoConnect(boolean autoConnect)
public RpcCoder getCoder()
public void setCoder(RpcCoder coder)
public java.lang.String getEndpoint()
public void setEndpoint(java.lang.String endpoint)
public java.util.Queue<java.lang.String> getQueued()
public void setQueued(java.util.LinkedList<java.lang.String> queued)
public java.util.Map<java.lang.String,Types.JsonRpcResponse> getWaitingForId()
public void setWaitingForId(java.util.Map<java.lang.String,Types.JsonRpcResponse> waitingForId)
public WebSocket getWebSocket()
public void setWebSocket(WebSocketClient webSocket)