/** * Creates a new Reactor object. * * @return the worker event */ static WorkerEvent createWorkerEvent() { WorkerEvent workerEvent = (WorkerEvent)_workerEventPool.poll(); if(workerEvent == null) { workerEvent = new WorkerEvent(); _workerEventPool.updatePool(workerEvent); } else { workerEvent.clear(); } return workerEvent; }
private void sendWorkerEvent(ReactorChannel reactorChannel, WorkerEventTypes eventType, TunnelStream tunnelStream, int reactorReturnCode, String location, String text) { WorkerEvent event = ReactorFactory.createWorkerEvent(); event.reactorChannel(reactorChannel); event.eventType(eventType); event.tunnelStream(tunnelStream); event.errorInfo().code(reactorReturnCode); event.errorInfo().error().errorId(reactorReturnCode); if (location != null) event.errorInfo().location(location); if (text != null) event.errorInfo().error().text(text); _queue.write(event); }
boolean sendWorkerEvent(WorkerEventTypes eventType, ReactorChannel reactorChannel, TunnelStream tunnelStream, long timeout) { boolean retVal = true; WorkerEvent event = ReactorFactory.createWorkerEvent(); event.eventType(eventType); event.reactorChannel(reactorChannel); event.tunnelStream(tunnelStream); event.timeout(timeout); retVal = _workerQueue.write(event); return retVal; }
boolean sendWorkerEvent(WorkerEventTypes eventType, ReactorChannel reactorChannel, long timeout) { boolean retVal = true; WorkerEvent event = ReactorFactory.createWorkerEvent(); event.eventType(eventType); event.reactorChannel(reactorChannel); event.timeout(timeout); retVal = _workerQueue.write(event); return retVal; }
boolean sendWorkerEvent(WorkerEventTypes eventType, ReactorChannel reactorChannel) { boolean retVal = true; WorkerEvent event = ReactorFactory.createWorkerEvent(); event.eventType(eventType); event.reactorChannel(reactorChannel); retVal = _workerQueue.write(event); return retVal; }
populateErrorInfo(errorInfo, event.errorInfo().code(), event.errorInfo().location(), event.errorInfo().error().text()); WorkerEventTypes eventType = event.eventType(); ReactorChannel reactorChannel = event.reactorChannel(); int ret = ReactorReturnCodes.SUCCESS; event.returnToPool(); return ReactorReturnCodes.FAILURE; "Reactor.processWorkerEvent", "Watchlist dispatch failed - " + errorInfo.error().text()); event.returnToPool(); return ret; event.returnToPool(); return ret; event.returnToPool(); return ret; event.returnToPool(); return ret; event.returnToPool(); return populateErrorInfo(errorInfo, ReactorReturnCodes.FAILURE, "Reactor.processWorkerEvent", event.returnToPool(); return errorInfo.code();
private void sendWorkerEvent(ReactorChannel reactorChannel, WorkerEventTypes eventType, int reactorReturnCode, String location, String text) { WorkerEvent event = ReactorFactory.createWorkerEvent(); event.reactorChannel(reactorChannel); event.eventType(eventType); event.errorInfo().code(reactorReturnCode); event.errorInfo().error().errorId(reactorReturnCode); if (location != null) event.errorInfo().location(location); if (text != null) event.errorInfo().error().text(text); _queue.write(event); }
private void processWorkerEvent() WorkerEventTypes eventType = event.eventType(); ReactorChannel reactorChannel = event.reactorChannel(); case CHANNEL_DOWN: processChannelClose(reactorChannel); if (reactorChannel.server() == null && !event.reactorChannel().recoveryAttemptLimitReached()) event.returnToPool();
private void processChannelDown(WorkerEvent event, ReactorErrorInfo errorInfo) { ReactorChannel reactorChannel = event.reactorChannel(); if (reactorChannel.state() != State.CLOSED) { if (reactorChannel.server() == null && !reactorChannel.recoveryAttemptLimitReached()) // client channel { // send CHANNEL_DOWN_RECONNECTING reactorChannel.state(State.DOWN_RECONNECTING); // send channel_down to user app via reactorChannelEventCallback. sendAndHandleChannelEventCallback("Reactor.processChannelDown", ReactorChannelEventTypes.CHANNEL_DOWN_RECONNECTING, reactorChannel, errorInfo); } else // server channel or no more retries { // send CHANNEL_DOWN since server channels are not recovered reactorChannel.state(State.DOWN); // send channel_down to user app via reactorChannelEventCallback. sendAndHandleChannelEventCallback("Reactor.processChannelDown", ReactorChannelEventTypes.CHANNEL_DOWN, reactorChannel, errorInfo); } } }
private void processWorkerShutdown(WorkerEvent event, String location, ReactorErrorInfo errorInfo) { populateErrorInfo(errorInfo, ReactorReturnCodes.FAILURE, location, "Worker has shutdown, " + event.errorInfo().toString()); }
boolean sendWatchlistDispatchNowEvent(ReactorChannel reactorChannel) { boolean retVal = true; WorkerEvent event = ReactorFactory.createWorkerEvent(); event.eventType(WorkerEventTypes.WATCHLIST_DISPATCH_NOW); event.reactorChannel(reactorChannel); retVal = _workerQueue.remote().write(event); return retVal; }
private void processChannelUp(WorkerEvent event, ReactorErrorInfo errorInfo) ReactorChannel reactorChannel = event.reactorChannel(); ReactorRole reactorRole = reactorChannel.role();
if (System.nanoTime() >= event.timeout()) if (event.eventType() == WorkerEventTypes.START_WATCHLIST_TIMER) sendWorkerEvent(event.reactorChannel(), eventType, event.tunnelStream(), ReactorReturnCodes.SUCCESS, null, null); _timerEventQueue.remove(event); event.returnToPool();
boolean sendDispatchNowEvent(ReactorChannel reactorChannel) { boolean retVal = true; WorkerEvent event = ReactorFactory.createWorkerEvent(); event.eventType(WorkerEventTypes.TUNNEL_STREAM_DISPATCH_NOW); event.reactorChannel(reactorChannel); retVal = _workerQueue.remote().write(event); return retVal; }