Package net.sf.eBus.config
Class EConfigure.MulticastBuilder
- java.lang.Object
-
- net.sf.eBus.config.EConfigure.MulticastBuilder
-
- Enclosing class:
- EConfigure
public static final class EConfigure.MulticastBuilder extends Object
Builder used to created aEConfigure.MulticastConnectionconnection instance. A builder instance can be obtained by callingEConfigure.multicastBuilder().See
net.sf.eBus.client.EMulticastConnectionfor detailed explanation on how to configure a multicast connection.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description EConfigure.MulticastBuilderbindAddress(InetAddress address)Bind socket to given local address.EConfigure.MulticastBuilderbindPort(int port)Bind the multicast connection local port to this value.EConfigure.MulticastConnectionbuild()ReturnsMulticastConnectionconfigured as per this builder's current settings.EConfigure.MulticastBuilderbyteOrder(ByteOrder byteOrder)Sets the byte order used by the multicast connection.EConfigure.MulticastBuildergroup(InetAddress group)Set multicast group address.EConfigure.MulticastBuilderinputBufferSize(int size)Sets the input buffer size for the multicast connection.EConfigure.MulticastBuildername(String name)Sets the multicast connection name.EConfigure.MulticastBuildernetworkInterface(NetworkInterface netIf)Sets the network interface associated with the multicast group.EConfigure.MulticastBuildernotifications(List<EConfigure.McastNotifyConfig> notifications)Set notification message key configurations.EConfigure.MulticastBuilderoutputBufferSize(int size)Sets the output buffer size for the multicast connection.EConfigure.MulticastBuilderprotocolFamily(ProtocolFamily family)Sets the multicast group protocol family.EConfigure.MulticastBuilderrole(EConfigure.MulticastRole role)Sets the multicast connection role to either publisher or subscriber.EConfigure.MulticastBuilderselector(String selector)Sets the selector used for the multicast connection.EConfigure.MulticastBuildersources(List<InetAddress> sources)Optional set of multicast source addresses.EConfigure.MulticastBuildertargetPort(int port)Set multicast group target port.
-
-
-
Method Detail
-
name
public EConfigure.MulticastBuilder name(String name)
Sets the multicast connection name. Name must be unique within the JVM.This setting is required.
- Parameters:
name- multicast connection name.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifnameisnullor empty.
-
role
public EConfigure.MulticastBuilder role(EConfigure.MulticastRole role)
Sets the multicast connection role to either publisher or subscriber.This setting is required.
- Parameters:
role- multicast connection role.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifroleisnull.
-
group
public EConfigure.MulticastBuilder group(InetAddress group)
Set multicast group address.This setting is required.
- Parameters:
group- multicast group address.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifgroupisnullor not a multicast address.
-
targetPort
public EConfigure.MulticastBuilder targetPort(int port)
Set multicast group target port. This port is only used whenpostingmessages to the group.This setting is required.
- Parameters:
port- multicast group port.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifportis outside the range [ENetConfigure.MIN_PORT,ENetConfigure.MAX_PORT] inclusive.
-
networkInterface
public EConfigure.MulticastBuilder networkInterface(NetworkInterface netIf)
Sets the network interface associated with the multicast group.This setting is required.
- Parameters:
netIf- multicast group network interface.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifnetIfisnull.
-
sources
public EConfigure.MulticastBuilder sources(List<InetAddress> sources)
Optional set of multicast source addresses. If configured then only those messages pasted from the given source addresses are accepted. Does nothing ifsourcesis eithernullor empty.This setting is optional.
- Parameters:
sources- accepted multicast message source addresses. May benullor empty.- Returns:
thismulticast connection builder.
-
bindAddress
public EConfigure.MulticastBuilder bindAddress(InetAddress address)
Bind socket to given local address. If address isnullthen socket is bound to an automatically assigned address.This setting is optional.
- Parameters:
address- bind socket local side to this address. May benull.- Returns:
thismulticast connection builder.
-
bindPort
public EConfigure.MulticastBuilder bindPort(int port)
Bind the multicast connection local port to this value. Ifportis set toENetConfigure.ANY_PORT, then the connection local port is set to any available value.This setting is optional. Default setting is
ENetConfigure.ANY_PORT.- Parameters:
port- multicast connection local bind port.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifportis either <ENetConfigure.ANY_PORTor >ENetConfigure.MAX_PORT.
-
protocolFamily
public EConfigure.MulticastBuilder protocolFamily(ProtocolFamily family)
Sets the multicast group protocol family.This setting is required.
- Parameters:
family- multicast protocol family. Must matchgroup(InetAddress).- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- iffamilyisnull.
-
byteOrder
public EConfigure.MulticastBuilder byteOrder(ByteOrder byteOrder)
Sets the byte order used by the multicast connection.This setting is optional. Default setting is
EConfigure.DEFAULT_BYTE_ORDER.- Parameters:
byteOrder- multicast connection serialize and de-serialize messages using this byte order.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifbyteOrderisnuill.
-
selector
public EConfigure.MulticastBuilder selector(String selector)
Sets the selector used for the multicast connection.This setting is optional. Default setting is
ENetConfigure.defaultSelector().- Parameters:
selector- eBus selector name.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifnameisnull, an empty string or not a known selector.
-
inputBufferSize
public EConfigure.MulticastBuilder inputBufferSize(int size)
Sets the input buffer size for the multicast connection. Ifsizeis zero, then the default input buffer size is used.This setting is optional.
- Parameters:
size- multicast connection input buffer size.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifsize< zero.
-
outputBufferSize
public EConfigure.MulticastBuilder outputBufferSize(int size)
Sets the output buffer size for the multicast connection. Ifsizeis zero, then the default output buffer size is used.This setting is optional.
- Parameters:
size- multicast connection output buffer size.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifsize< zero.
-
notifications
public EConfigure.MulticastBuilder notifications(List<EConfigure.McastNotifyConfig> notifications)
Set notification message key configurations.This setting is required.
- Parameters:
notifications- notification message keys.- Returns:
thismulticast connection builder.- Throws:
com.typesafe.config.ConfigException- ifnotificationsis eithernullor empty.
-
build
public EConfigure.MulticastConnection build()
ReturnsMulticastConnectionconfigured as per this builder's current settings.- Returns:
EConfigure.MulticastConnectionconfigured as per this builder's current settings.- Throws:
com.typesafe.config.ConfigException- if the current builder settings are not valid.
-
-