/** * Creates a new instance registered with the given channel group, with the given underlying * {@link SocketChannel}. Used by an {@link AsyncServerSocketChannelImpl} when a new connection is * accepted. * * @param group the channel group * @param channel the {@link SocketChannel} for this async channel * @throws IOException if an I/O error occurs */ AsyncSocketChannelImpl(AsyncGroupImpl group, SocketChannel channel) throws IOException { super(group.provider()); this.channel = channel; key = group.register(channel); }
/** * Creates a new instance registered with the given channel group. * * @param group the channel group * @throws IOException if an I/O error occurs */ AsyncSocketChannelImpl(AsyncGroupImpl group) throws IOException { this(group, group.selectorProvider().openSocketChannel()); }
/** * Creates a new instance registered with the given channel group. * * @param group the channel group * @throws IOException if an I/O error occurs */ AsyncServerSocketChannelImpl(AsyncGroupImpl group) throws IOException { super(group.provider()); this.group = group; channel = group.selectorProvider().openServerSocketChannel(); key = group.register(channel); }