code: public Object recv(Integer taskId, int flags) {
          try {
              DisruptorQueue recvQueue = deserializeQueues.get(taskId);
              if ((flags & 0x01) == 0x01) {
                  return recvQueue.poll();
                  // non-blocking
              } else {
                  return recvQueue.take();
              }
          } catch (Exception e) {
              LOG.warn("Unknown exception ", e);
              return null;
          }
      }
docs: fetch a message from message queue synchronously (flags != 1) or asynchronously (flags==1)