Class RedisPubSubTransport
java.lang.Object
com.iantapply.relay.redis.RedisPubSubTransport
- All Implemented Interfaces:
com.iantapply.relay.core.MessageTransport, AutoCloseable
public final class RedisPubSubTransport
extends Object
implements com.iantapply.relay.core.MessageTransport
Minimal RESP2 client dedicated to Relay's PUBLISH/SUBSCRIBE use case.
-
Constructor Summary
ConstructorsConstructorDescriptionRedisPubSubTransport(URI uri, Logger logger) Creates a Redis transport for one endpoint. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()booleanbooleanlongvoidstart(Collection<String> channels, BiConsumer<String, byte[]> receiver) boolean
-
Constructor Details
-
RedisPubSubTransport
Creates a Redis transport for one endpoint.- Parameters:
uri- Redis endpoint, credentials, database, and optional TLS schemelogger- destination for connection warnings- Throws:
IllegalArgumentException- if the URI is not a valid Redis endpoint
-
-
Method Details
-
publish
- Specified by:
publishin interfacecom.iantapply.relay.core.MessageTransport
-
start
- Specified by:
startin interfacecom.iantapply.relay.core.MessageTransport
-
connected
public boolean connected()- Specified by:
connectedin interfacecom.iantapply.relay.core.MessageTransport
-
publisherConnected
public boolean publisherConnected()- Specified by:
publisherConnectedin interfacecom.iantapply.relay.core.MessageTransport
-
subscriberConnected
public boolean subscriberConnected()- Specified by:
subscriberConnectedin interfacecom.iantapply.relay.core.MessageTransport
-
reconnects
public long reconnects()- Specified by:
reconnectsin interfacecom.iantapply.relay.core.MessageTransport
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacecom.iantapply.relay.core.MessageTransport
-