@Override
public ProcessorResult process(final Context context) {
final IOEvent iOEvent = context.getIoEvent();
if (iOEvent == IOEvent.READ) {
final Connection connection = context.getConnection();
final AsyncQueueReader reader =
((AsyncQueueEnabledTransport) connection.getTransport()).
getAsyncQueueIO().getReader();
return reader.processAsync(context).toProcessorResult();
} else if (iOEvent == IOEvent.WRITE) {
final Connection connection = context.getConnection();
final AsyncQueueWriter writer =
((AsyncQueueEnabledTransport) connection.getTransport()).
getAsyncQueueIO().getWriter();