public static final class EConfigure.ServerBuilder extends EConfigure.AbstractBuilder
EConfigure.Service instance based on
the parameters set via this builder's API. The minimally
allowed configuration is the service name, connection type
and port. The remaining parameters are set to the
following defaults:
EConfigure.ConnectionType.TCP - plain
text TCP connection.
null - no address filter
applied.
AsyncChannel.defaultSelector.
AsyncChannel.defaultSelector.
If either the service name or port are not set, then
build() will throw an exception.
EServerfinal AddressFilter filter = ...;
final SSLContext secureContext = ...;
final EConfigure.ServerBuilder builder = EConfigure.serverBuilder();
EServer.openServer(builder.name("AppServer")
.port(6789)
.connectionType(EConfigure.ConnectionType.SECURE_TCP)
.sslContext(secureContext)
.addressFilter(filter)
.inputBufferSize(1_024)
.outputBufferSize(1_024)
.byteOrder(ByteOrder.BIG_ENDIAN)
.messageQueueSize(10_000)
.serviceSelector("svcSelector")
.connectionSelector("connSelector")
.heartbeatDelay(60_000L)
.heartbeatReplyDelay(30_000L)
.build());EConfigure.ConnectionBuildermByteOrder, mHbDelay, mHbReplyDelay, mInputBufferSize, mMsgQueueSize, mName, mOutputBufferSize, mSSLContext| Modifier and Type | Method and Description |
|---|---|
AddressFilter |
addressFilter()
Returns the configured address filter.
|
EConfigure.ServerBuilder |
addressFilter(AddressFilter filter)
Sets the optional service address filter.
|
EConfigure.Service |
build()
Returns the eBus service configuration built from the
previously set parameters.
|
EConfigure.ServerBuilder |
byteOrder(ByteOrder byteOrder)
Sets the byte order used by accepted TCP connections.
|
String |
connectionSelector()
Returns the network selector information used for
accepted connections.
|
EConfigure.ServerBuilder |
connectionSelector(String selector)
Sets the selector used for accepted TCP connections.
|
EConfigure.ServerBuilder |
connectionType(EConfigure.ConnectionType connType)
Sets the underlying channel type.
|
EConfigure.ServerBuilder |
heartbeatDelay(long delay)
Sets the heartbeat delay used for accepted TCP
connections.
|
EConfigure.ServerBuilder |
heartbeatReplyDelay(long delay)
Sets the heartbeat reply delay used for accepted TCP
connections.
|
EConfigure.ServerBuilder |
inputBufferSize(int size)
Sets the input buffer size for all accepted TCP
connections.
|
EConfigure.ServerBuilder |
messageQueueSize(int size)
Sets the maximum queue size for accepted TCP
connections.
|
EConfigure.ServerBuilder |
name(String name)
Sets the service name.
|
EConfigure.ServerBuilder |
outputBufferSize(int size)
Sets the output buffer size for all accept TCP
connections.
|
int |
port()
Returns the configured TCP port.
|
EConfigure.ServerBuilder |
port(int port)
Sets the service TCP port.
|
String |
serviceSelector()
Returns the network selector information used for the
eBus service.
|
EConfigure.ServerBuilder |
serviceSelector(String selector)
Sets the selector used for the service connection.
|
EConfigure.ServerBuilder |
sslContext(SSLContext context)
Sets the SSL/TLS context used by a secure location.
|
protected void |
validate()
Validates the builder parameters.
|
byteOrder, connectionType, heartbeatDelay, heartbeatReplyDelay, inputBufferSize, messageQueueSize, name, outputBufferSize, setByteOrder, setConnectionType, setHeartbeatDelay, setHeartbeatReplyDelay, setInputBufferSize, setMessageQueueSize, setName, setOutputBufferSize, setSSLContext, sslContextpublic int port()
public AddressFilter addressFilter()
null if the address filter is not set.public String serviceSelector()
public String connectionSelector()
public EConfigure.ServerBuilder name(String name)
name - service name.this service builder.NullPointerException - if name is null.IllegalArgumentException - if name is empty.public EConfigure.ServerBuilder connectionType(EConfigure.ConnectionType connType)
connType - channel type.this service builder.NullPointerException - if connType is null.public EConfigure.ServerBuilder port(int port)
port - service TCP port.this service builder.IllegalArgumentException - if port is not a valid TCP address.public EConfigure.ServerBuilder addressFilter(AddressFilter filter)
filter - the optional address filter. May be
null.this service builder.public EConfigure.ServerBuilder inputBufferSize(int size)
size is zero, then the default
input buffer size is used.size - accepted connection input buffer size.this service builder.IllegalArgumentException - if size < zero.public EConfigure.ServerBuilder outputBufferSize(int size)
size is zero, then the default
output buffer size is used.size - accepted connection output buffer size.this service builder.IllegalArgumentException - if size < zero.public EConfigure.ServerBuilder byteOrder(ByteOrder byteOrder)
byteOrder - accepted connections serialize and
de-serialize messages using this byte order.this service builder.NullPointerException - if byteOrder is nuill.public EConfigure.ServerBuilder messageQueueSize(int size)
size - message queue maximum size.this service builder.IllegalArgumentException - if size < zero.public EConfigure.ServerBuilder serviceSelector(String selector)
selector - eBus selector name.this service builder.NullPointerException - if name is null.IllegalArgumentException - if name is an empty string or not a known
selector.public EConfigure.ServerBuilder connectionSelector(String selector)
selector - eBus selector name.this service builder.NullPointerException - if name is null.IllegalArgumentException - if name is an empty string or not a known
selector.public EConfigure.ServerBuilder heartbeatDelay(long delay)
delay milliseconds, then a heartbeat is sent.
If delay is zero, then heartbeating is turned
off.delay - millisecond heartbeat rate.this service builder.IllegalArgumentException - if delay < zero.public EConfigure.ServerBuilder heartbeatReplyDelay(long delay)
delay milliseconds, the TCP
connection is closed. This value is ignored if the
heartbeat delay is zero.delay - millisecond heartbeat reply delay.this service builder.IllegalArgumentException - if delay < zero.public EConfigure.ServerBuilder sslContext(SSLContext context)
EConfigure.ConnectionType.SECURE_TCP.context - secure TCP context.this connection builder.NullPointerException - if context is null.public EConfigure.Service build()
NullPointerException - if any service name is not set.IllegalStateException - if service port is not set.protected void validate()
validate in class EConfigure.AbstractBuilderNullPointerException - if a required parameter is not set.IllegalArgumentException - if a parameter is not set to a valid value with
respect to another parameter.Copyright © 2019. All rights reserved.