public Future send()

in src/main/java/com/twitter/http2/Pipe.java [84:104]


    public Future<Void> send(T message) {
        Objects.requireNonNull(message, "msg");

        Promise<T> receivePromise;

        synchronized (this) {
            if (closed) {
                return CLOSED_FUTURE;
            }

            receivePromise = receiveQueue.poll();
            if (receivePromise == null) {
                Promise<Void> sendPromise = ImmediateEventExecutor.INSTANCE.newPromise();
                sendQueue.add(new Node(message, sendPromise));
                return sendPromise;
            }
        }

        receivePromise.setSuccess(message);
        return SENT_FUTURE;
    }