HandlerHolder<T> chooseHandler() { HandlerHolder<T> handler = list.get(pos); pos++; checkPos(); return handler; }
public HandlerHolder<T> chooseHandler(EventLoop worker) { Handlers<T> handlers = handlerMap.get(worker); return handlers == null ? null : handlers.chooseHandler(); }
public synchronized void removeHandler(T handler, ContextInternal context) { EventLoop worker = context.nettyEventLoop(); Handlers<T> handlers = handlerMap.get(worker); if (!handlers.removeHandler(new HandlerHolder<>(context, handler))) { throw new IllegalStateException("Can't find handler"); } if (handlers.isEmpty()) { handlerMap.remove(worker); } if (handlerMap.isEmpty()) { hasHandlers = false; } //Available workers does it's own reference counting -since workers can be shared across different Handlers availableWorkers.removeWorker(worker); }
public synchronized void removeHandler(T handler, ContextInternal context) { EventLoop worker = context.nettyEventLoop(); Handlers<T> handlers = handlerMap.get(worker); if (!handlers.removeHandler(new HandlerHolder<>(context, handler))) { throw new IllegalStateException("Can't find handler"); } if (handlers.isEmpty()) { handlerMap.remove(worker); } if (handlerMap.isEmpty()) { hasHandlers = false; } //Available workers does it's own reference counting -since workers can be shared across different Handlers availableWorkers.removeWorker(worker); }
public HandlerHolder<T> chooseHandler(EventLoop worker) { Handlers<T> handlers = handlerMap.get(worker); return handlers == null ? null : handlers.chooseHandler(); }
public synchronized void addHandler(T handler, ContextInternal context) { EventLoop worker = context.nettyEventLoop(); availableWorkers.addWorker(worker); Handlers<T> handlers = new Handlers<>(); Handlers<T> prev = handlerMap.putIfAbsent(worker, handlers); if (prev != null) { handlers = prev; } handlers.addHandler(new HandlerHolder<>(context, handler)); hasHandlers = true; }
HandlerHolder<T> chooseHandler() { HandlerHolder<T> handler = list.get(pos); pos++; checkPos(); return handler; }
boolean removeHandler(HandlerHolder<T> handler) { if (list.remove(handler)) { checkPos(); return true; } else { return false; } }
public synchronized void addHandler(T handler, ContextInternal context) { EventLoop worker = context.nettyEventLoop(); availableWorkers.addWorker(worker); Handlers<T> handlers = new Handlers<>(); Handlers<T> prev = handlerMap.putIfAbsent(worker, handlers); if (prev != null) { handlers = prev; } handlers.addHandler(new HandlerHolder<>(context, handler)); hasHandlers = true; }
boolean removeHandler(HandlerHolder<T> handler) { if (list.remove(handler)) { checkPos(); return true; } else { return false; } }