@Override public void fireSessionCreated() { pushEvent(new IoEvent(IoEventType.SESSION_CREATED, getSession(), null)); }
/** * {@inheritDoc} */ @Override public void run() { fire(); }
@Override public String toString() { if (getParameter() == null) { return "[" + getSession() + "] " + getType().name(); } return "[" + getSession() + "] " + getType().name() + ": " + getParameter(); } }
/** * A Helper class used to print the list of events being queued. */ private void print(Queue<Runnable> queue, IoEvent event) { StringBuilder sb = new StringBuilder(); sb.append("Adding event ").append(event.getType()).append(" to session ").append(event.getSession().getId()); boolean first = true; sb.append("\nQueue : ["); for (Runnable elem : queue) { if (first) { first = false; } else { sb.append(", "); } sb.append(((IoEvent) elem).getType()).append(", "); } sb.append("]\n"); LOGGER.debug(sb.toString()); }
switch ( type ) { case MESSAGE_RECEIVED: session.getFilterChain().fireMessageReceived(getParameter()); break; session.getFilterChain().fireMessageSent((WriteRequest) getParameter()); break; session.getFilterChain().fireFilterWrite((WriteRequest) getParameter()); break; session.getFilterChain().fireExceptionCaught((Throwable) getParameter()); break; session.getFilterChain().fireSessionIdle((IdleStatus) getParameter()); break; throw new IllegalArgumentException("Unknown event type: " + getType());
/** * {@inheritDoc} */ @Override public boolean remove(Runnable task) { checkTaskType(task); IoEvent event = (IoEvent) task; IoSession session = event.getSession(); SessionTasksQueue sessionTasksQueue = (SessionTasksQueue) session.getAttribute(TASKS_QUEUE); if (sessionTasksQueue == null) { return false; } boolean removed; Queue<Runnable> tasksQueue = sessionTasksQueue.tasksQueue; synchronized (tasksQueue) { removed = tasksQueue.remove(task); } if (removed) { getQueueHandler().polled(this, event); } return removed; }
/** * {@inheritDoc} */ @Override public int estimateSize(IoEvent event) { return estimateSize((Object) event) + estimateSize(event.getParameter()); }
switch ( type ) { case MESSAGE_RECEIVED: session.getFilterChain().fireMessageReceived(getParameter()); break; session.getFilterChain().fireMessageSent((WriteRequest) getParameter()); break; session.getFilterChain().fireFilterWrite((WriteRequest) getParameter()); break; session.getFilterChain().fireExceptionCaught((Throwable) getParameter()); break; session.getFilterChain().fireSessionIdle((IdleStatus) getParameter()); break; throw new IllegalArgumentException("Unknown event type: " + getType());
/** * A Helper class used to print the list of events being queued. */ private void print(Queue<Runnable> queue, IoEvent event) { StringBuilder sb = new StringBuilder(); sb.append("Adding event ").append(event.getType()).append(" to session ").append(event.getSession().getId()); boolean first = true; sb.append("\nQueue : ["); for (Runnable elem : queue) { if (first) { first = false; } else { sb.append(", "); } sb.append(((IoEvent) elem).getType()).append(", "); } sb.append("]\n"); LOGGER.debug(sb.toString()); }
/** * {@inheritDoc} */ @Override public boolean remove(Runnable task) { checkTaskType(task); IoEvent event = (IoEvent) task; IoSession session = event.getSession(); SessionTasksQueue sessionTasksQueue = (SessionTasksQueue)session.getAttribute( TASKS_QUEUE ); Queue<Runnable> tasksQueue = sessionTasksQueue.tasksQueue; if (sessionTasksQueue == null) { return false; } boolean removed; synchronized (tasksQueue) { removed = tasksQueue.remove(task); } if (removed) { getQueueHandler().polled(this, event); } return removed; }
/** * {@inheritDoc} */ @Override public int estimateSize(IoEvent event) { return estimateSize((Object) event) + estimateSize(event.getParameter()); }
@Override public void fireMessageReceived(Object message) { pushEvent(new IoEvent(IoEventType.MESSAGE_RECEIVED, getSession(), message)); }
private void fireEvent(IoEvent e) { VmPipeSession session = (VmPipeSession) getSession(); IoEventType type = e.getType(); Object data = e.getParameter();
public void fire() { switch (getType()) { case MESSAGE_RECEIVED: getSession().getFilterChain().fireMessageReceived(getParameter()); break; case MESSAGE_SENT: getSession().getFilterChain().fireMessageSent((WriteRequest) getParameter()); break; case WRITE: getSession().getFilterChain().fireFilterWrite((WriteRequest) getParameter()); break; case CLOSE: getSession().getFilterChain().fireFilterClose(); break; case EXCEPTION_CAUGHT: getSession().getFilterChain().fireExceptionCaught((Throwable) getParameter()); break; case SESSION_IDLE: getSession().getFilterChain().fireSessionIdle((IdleStatus) getParameter()); break; case SESSION_OPENED: getSession().getFilterChain().fireSessionOpened(); break; case SESSION_CREATED: getSession().getFilterChain().fireSessionCreated(); break; case SESSION_CLOSED: getSession().getFilterChain().fireSessionClosed(); break; default:
/** * A Helper class used to print the list of events being queued. */ private void print( Queue<Runnable> queue, IoEvent event) { StringBuilder sb = new StringBuilder(); sb.append( "Adding event " ).append( event.getType() ).append( " to session " ).append(event.getSession().getId() ); boolean first = true; sb.append( "\nQueue : [" ); for (Runnable elem:queue) { if ( first ) { first = false; } else { sb.append( ", " ); } sb.append(((IoEvent)elem).getType()).append(", "); } sb.append( "]\n" ); LOGGER.debug( sb.toString() ); }
/** * {@inheritDoc} */ @Override public boolean remove(Runnable task) { checkTaskType(task); IoEvent event = (IoEvent) task; IoSession session = event.getSession(); SessionTasksQueue sessionTasksQueue = (SessionTasksQueue) session.getAttribute(TASKS_QUEUE); if (sessionTasksQueue == null) { return false; } boolean removed; Queue<Runnable> tasksQueue = sessionTasksQueue.tasksQueue; synchronized (tasksQueue) { removed = tasksQueue.remove(task); } if (removed) { getQueueHandler().polled(this, event); } return removed; }
/** * {@inheritDoc} */ public int estimateSize(IoEvent event) { return estimateSize((Object) event) + estimateSize(event.getParameter()); }
/** * {@inheritDoc} */ @Override public void run() { fire(); }
@Override public void fireExceptionCaught(Throwable cause) { pushEvent(new IoEvent(IoEventType.EXCEPTION_CAUGHT, getSession(), cause)); }
private void fireEvent(IoEvent e) { VmPipeSession session = (VmPipeSession) getSession(); IoEventType type = e.getType(); Object data = e.getParameter();