|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jboss.netty.bootstrap.Bootstrap
org.jboss.netty.bootstrap.ConnectionlessBootstrap
public class ConnectionlessBootstrap

A helper class which creates a new server-side Channel for a
connectionless transport.
ServerBootstrap instead for connection oriented transports.
Do not use this helper if you are using a connection oriented transport such
as TCP/IP and local transport which accepts an incoming connection and lets
the accepted child channels handle received messages.
Options are used to configure a channel:
ConnectionlessBootstrap b = ...;
// Options for a new channel
b.setOption("localAddress", new InetSocketAddress(8080));
b.setOption("tcpNoDelay", true);
b.setOption("receiveBufferSize", 1048576);
For the detailed list of available options, please refer to
ChannelConfig and its sub-types
ChannelPipeline and you can configure it
in two ways.
The first approach is to use the default pipeline and let the bootstrap to shallow-copy the default pipeline for each new channel:
ConnectionlessBootstrap b = ...;
ChannelPipeline p = b.getPipeline();
// Add handlers to the pipeline.
p.addLast("encoder", new EncodingHandler());
p.addLast("decoder", new DecodingHandler());
p.addLast("logic", new LogicHandler());
Please note 'shallow-copy' here means that the added ChannelHandlers
are not cloned but only their references are added to the new pipeline.
Therefore, you have to choose the second approach if you are going to open
more than one Channel whose ChannelPipeline contains any
ChannelHandler whose ChannelPipelineCoverage is "one".
The second approach
is to specify a ChannelPipelineFactory by yourself and have full
control over how a new pipeline is created. This approach is more complex
than the first approach while it is much more flexible:
ConnectionlessBootstrap b = ...;
b.setPipelineFactory(new MyPipelineFactory());
public class MyPipelineFactory implements ChannelPipelineFactory {
// Create a new pipeline for a new channel and configure it here ...
}
ChannelsConnectionlessBootstrap is just a helper class. It neither
allocates nor manages any resources. What manages the resources is the
ChannelFactory implementation you specified in the constructor of
ConnectionlessBootstrap. Therefore, it is OK to create as
many ConnectionlessBootstrap instances as you want to apply
different settings for different Channels.
| Constructor Summary | |
|---|---|
ConnectionlessBootstrap()
Creates a new instance with no ChannelFactory set. |
|
ConnectionlessBootstrap(ChannelFactory channelFactory)
Creates a new instance with the specified initial ChannelFactory. |
|
| Method Summary | |
|---|---|
Channel |
bind()
Creates a new channel which is bound to the local address which was specified in the current "localAddress" option. |
Channel |
bind(SocketAddress localAddress)
Creates a new channel which is bound to the specified local address. |
ChannelFuture |
connect()
Creates a new connected channel with the current "remoteAddress"
and "localAddress" option. |
ChannelFuture |
connect(SocketAddress remoteAddress)
Creates a new connected channel with the specified "remoteAddress" and the current "localAddress" option. |
ChannelFuture |
connect(SocketAddress remoteAddress,
SocketAddress localAddress)
Creates a new connected channel with the specified "remoteAddress" and the specified "localAddress". |
| Methods inherited from class org.jboss.netty.bootstrap.Bootstrap |
|---|
getFactory, getOption, getOptions, getPipeline, getPipelineAsMap, getPipelineFactory, releaseExternalResources, setFactory, setOption, setOptions, setPipeline, setPipelineAsMap, setPipelineFactory |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ConnectionlessBootstrap()
ChannelFactory set.
Bootstrap.setFactory(ChannelFactory) must be called before any I/O
operation is requested.
public ConnectionlessBootstrap(ChannelFactory channelFactory)
ChannelFactory.
| Method Detail |
|---|
public Channel bind()
"localAddress" option. This method is
similar to the following code:
ServerBootstrap b = ...;
b.connect(b.getOption("localAddress"));
IllegalStateException - if "localAddress" option was not set
ClassCastException - if "localAddress" option's value is
neither a SocketAddress nor null
ChannelException - if failed to create a new channel and
bind it to the local addresspublic Channel bind(SocketAddress localAddress)
ChannelException - if failed to create a new channel and
bind it to the local addresspublic ChannelFuture connect()
"remoteAddress"
and "localAddress" option. If the "localAddress" option
is not set, the local address of a new channel is determined
automatically. This method is similar to the following code:
ConnectionlessBootstrap b = ...;
b.connect(b.getOption("remoteAddress"), b.getOption("localAddress"));
IllegalStateException - if "remoteAddress" option was not set
ClassCastException - if "remoteAddress" or "localAddress" option's
value is neither a SocketAddress nor null
ChannelPipelineException - if this bootstrap's pipelineFactory
failed to create a new ChannelPipelinepublic ChannelFuture connect(SocketAddress remoteAddress)
"remoteAddress" and the current "localAddress" option.
If the "localAddress" option is not set, the local address of
a new channel is determined automatically. This method is identical
with the following code:
ClientBootstrap b = ...;
b.connect(remoteAddress, b.getOption("localAddress"));
ClassCastException - if "localAddress" option's value is
neither a SocketAddress nor null
ChannelPipelineException - if this bootstrap's pipelineFactory
failed to create a new ChannelPipeline
public ChannelFuture connect(SocketAddress remoteAddress,
SocketAddress localAddress)
"remoteAddress" and the specified "localAddress".
If the specified local address is null, the local address of a
new channel is determined automatically.
ChannelPipelineException - if this bootstrap's pipelineFactory
failed to create a new ChannelPipeline
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||