Class BackendChannelClient
java.lang.Object
dev.moonbridge.backendchannel.BackendChannelClient
- All Implemented Interfaces:
dev.moonbridge.messaging.internal.LocalMessaging.Outbound, AutoCloseable
public final class BackendChannelClient
extends Object
implements AutoCloseable, dev.moonbridge.messaging.internal.LocalMessaging.Outbound
Java 8-compatible reconnecting transport with process-local messaging scopes.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final long -
Constructor Summary
ConstructorsConstructorDescriptionBackendChannelClient(String host, int port, String instanceId, String backendName, String gameAddress, String generation, String keyId, byte[] secret) BackendChannelClient(String host, int port, String instanceId, String backendName, String gameAddress, String generation, String keyId, byte[] secret, long heartbeatMillis, long reconnectMinMillis, long reconnectMaxMillis) -
Method Summary
Modifier and TypeMethodDescriptionbooleanawaitRegistered(long timeout, TimeUnit unit) Waits for initial registration or a later reconnect.voidclose()longgetEpoch()booleanReturns true after REGISTERED and until the active connection is lost.dev.moonbridge.messaging.MessagingOpens a plugin-owned scope on this client's shared control connection.dev.moonbridge.messaging.MessagingOpens a plugin-owned scope using the supplied callback executor.CompletionStage<dev.moonbridge.messaging.PublishResult> publish(dev.moonbridge.messaging.Message event) CompletionStage<dev.moonbridge.messaging.Message> CompletionStage<dev.moonbridge.messaging.SendResult> send(dev.moonbridge.messaging.Message message)
-
Field Details
-
MAX_PENDING_REQUESTS
public static final int MAX_PENDING_REQUESTS- See Also:
-
MAX_HANDLER_QUEUE
public static final int MAX_HANDLER_QUEUE- See Also:
-
MAX_WRITER_QUEUE
public static final int MAX_WRITER_QUEUE- See Also:
-
MAX_WRITER_QUEUE_BYTES
public static final long MAX_WRITER_QUEUE_BYTES- See Also:
-
-
Constructor Details
-
BackendChannelClient
-
BackendChannelClient
-
-
Method Details
-
messaging
Opens a plugin-owned scope on this client's shared control connection. -
messaging
-
isRegistered
public boolean isRegistered()Returns true after REGISTERED and until the active connection is lost. -
awaitRegistered
Waits for initial registration or a later reconnect.- Throws:
InterruptedException
-
getEpoch
public long getEpoch() -
getProxyEpoch
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
send
public CompletionStage<dev.moonbridge.messaging.SendResult> send(dev.moonbridge.messaging.Message message) - Specified by:
sendin interfacedev.moonbridge.messaging.internal.LocalMessaging.Outbound
-
request
public CompletionStage<dev.moonbridge.messaging.Message> request(dev.moonbridge.messaging.Message request, Duration timeout) - Specified by:
requestin interfacedev.moonbridge.messaging.internal.LocalMessaging.Outbound
-
publish
public CompletionStage<dev.moonbridge.messaging.PublishResult> publish(dev.moonbridge.messaging.Message event) - Specified by:
publishin interfacedev.moonbridge.messaging.internal.LocalMessaging.Outbound
-