@Override public ChannelGroupFuture close() { return close(ChannelMatchers.all()); }
@Override public ChannelGroupFuture close() { return close(ChannelMatchers.all()); }
@Override public ChannelGroupFuture close() { return close(ChannelMatchers.all()); }
public void close() { System.out.println("Closing all sockets..."); DefaultChannelGroup allChannels = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE); userSession.forEach((userKey, session) -> { allChannels.addAll(session.appChannels); allChannels.addAll(session.hardwareChannels); }); allChannels.close().awaitUninterruptibly(); }
@Override public ChannelGroupFuture close() { closed.set(true); return super.close(); }
@Override public ChannelGroupFuture close() { return close(ChannelMatchers.all()); }
@Override public ChannelGroupFuture close() { return close(ChannelMatchers.all()); }
@Override public ChannelGroupFuture close() { return close(ChannelMatchers.all()); }
@Override public ChannelGroupFuture close() { this.lock.writeLock().lock(); try { if (!this.closed.getAndSet(true)) { // First time close() is called. return super.close(); } else { // FIXME DefaultChannelGroupFuture is package protected // Collection<ChannelFuture> futures = new ArrayList<>(); // logger.debug("CleanupChannelGroup already closed"); // return new DefaultChannelGroupFuture(ChannelGroup.class.cast(this), futures, // GlobalEventExecutor.INSTANCE); throw new UnsupportedOperationException("CleanupChannelGroup already closed"); } } finally { this.lock.writeLock().unlock(); } }
@Override public ChannelGroupFuture close() { this.lock.writeLock().lock(); try { if (!this.closed.getAndSet(true)) { // First time close() is called. return super.close(); } else { // FIXME DefaultChannelGroupFuture is package protected // Collection<ChannelFuture> futures = new ArrayList<>(); // logger.debug("CleanupChannelGroup already closed"); // return new DefaultChannelGroupFuture(ChannelGroup.class.cast(this), futures, // GlobalEventExecutor.INSTANCE); throw new UnsupportedOperationException("CleanupChannelGroup already closed"); } } finally { this.lock.writeLock().unlock(); } }