下面列出了java.nio.channels.DatagramChannel#isOpen() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
@SuppressWarnings("deprecation")
public boolean isActive() {
DatagramChannel ch = javaChannel();
return ch.isOpen() && (
config.getOption(ChannelOption.DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION) && isRegistered()
|| ch.socket().isBound());
}
private DatagramChannel getChannel() throws IOException {
DatagramChannel tmp = channel;
if (!tmp.isOpen()) {
synchronized (this) {
tmp = channel;
if (!tmp.isOpen() && !stopped) {
tmp = DatagramChannel.open();
channel = tmp;
}
}
}
return tmp;
}
@Override
@SuppressWarnings("deprecation")
public boolean isActive() {
DatagramChannel ch = javaChannel();
return ch.isOpen() && (
config.getOption(ChannelOption.DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION) && isRegistered()
|| ch.socket().isBound());
}
static int send(
final DatagramChannel datagramChannel,
final ByteBuffer buffer,
final SendChannelEndpoint channelEndpoint,
final int bytesToSend,
final int position,
final InetSocketAddress destination)
{
int bytesSent = 0;
try
{
if (datagramChannel.isOpen())
{
buffer.position(position);
channelEndpoint.sendHook(buffer, destination);
bytesSent = datagramChannel.send(buffer, destination);
}
}
catch (final PortUnreachableException ignore)
{
}
catch (final IOException ex)
{
sendError(bytesToSend, ex, destination);
}
return bytesSent;
}
@Override
public boolean isActive() {
DatagramChannel ch = javaChannel();
return ch.isOpen() && ch.socket().isBound();
}
@Override
public boolean isActive() {
DatagramChannel ch = javaChannel();
return ch.isOpen() && ch.socket().isBound();
}