public interface io.vertx.core.streams.WriteStream<T> extends io.vertx.core.streams.StreamBase
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: io.vertx.core.streams.WriteStream
  super_class: java.lang.Object
{
  public abstract io.vertx.core.streams.WriteStream<T> exceptionHandler(io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)Lio/vertx/core/streams/WriteStream<TT;>;
    MethodParameters:
         Name  Flags
      handler  

  public abstract io.vertx.core.Future<java.lang.Void> write(T);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/Future;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TT;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      data  

  public abstract void write(T, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TT;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      data     
      handler  

  public io.vertx.core.Future<java.lang.Void> end();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.streams.WriteStream this
         0: .line 74
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 1 /* promise */
        start local 1 // io.vertx.core.Promise promise
         1: .line 75
            aload 0 /* this */
            aload 1 /* promise */
            invokeinterface io.vertx.core.streams.WriteStream.end:(Lio/vertx/core/Handler;)V
         2: .line 76
            aload 1 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.core.streams.WriteStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/streams/WriteStream<TT;>;
            1    3     1  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: ()Lio/vertx/core/Future<Ljava/lang/Void;>;

  public abstract void end(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.Future<java.lang.Void> end(T);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.core.streams.WriteStream this
        start local 1 // java.lang.Object data
         0: .line 93
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* provide */
        start local 2 // io.vertx.core.Promise provide
         1: .line 94
            aload 0 /* this */
            aload 1 /* data */
            aload 2 /* provide */
            invokeinterface io.vertx.core.streams.WriteStream.end:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
         2: .line 95
            aload 2 /* provide */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise provide
        end local 1 // java.lang.Object data
        end local 0 // io.vertx.core.streams.WriteStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/streams/WriteStream<TT;>;
            0    3     1     data  TT;
            1    3     2  provide  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (TT;)Lio/vertx/core/Future<Ljava/lang/Void;>;
    MethodParameters:
      Name  Flags
      data  

  public void end(T, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/Object;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.core.streams.WriteStream this
        start local 1 // java.lang.Object data
        start local 2 // io.vertx.core.Handler handler
         0: .line 102
            aload 2 /* handler */
            ifnull 3
         1: .line 103
            aload 0 /* this */
            aload 1 /* data */
            aload 0 /* this */
            aload 2 /* handler */
            invokedynamic handle(Lio/vertx/core/streams/WriteStream;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/core/streams/WriteStream.lambda$0(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7 itf)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.streams.WriteStream.write:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
         2: .line 110
            goto 4
         3: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            invokeinterface io.vertx.core.streams.WriteStream.end:(Ljava/lang/Object;)Lio/vertx/core/Future;
            pop
         4: .line 113
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.Handler handler
        end local 1 // java.lang.Object data
        end local 0 // io.vertx.core.streams.WriteStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lio/vertx/core/streams/WriteStream<TT;>;
            0    5     1     data  TT;
            0    5     2  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (TT;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      data     
      handler  

  public abstract io.vertx.core.streams.WriteStream<T> setWriteQueueMaxSize(int);
    descriptor: (I)Lio/vertx/core/streams/WriteStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (I)Lio/vertx/core/streams/WriteStream<TT;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    MethodParameters:
         Name  Flags
      maxSize  

  public abstract boolean writeQueueFull();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract io.vertx.core.streams.WriteStream<T> drainHandler(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)Lio/vertx/core/streams/WriteStream<TT;>;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.Fluent()
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        io.vertx.codegen.annotations.Nullable()
    MethodParameters:
         Name  Flags
      handler  

  public io.vertx.core.streams.StreamBase exceptionHandler(io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/streams/StreamBase;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokeinterface io.vertx.core.streams.WriteStream.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/WriteStream;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.core.streams.WriteStream this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 104
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 105
            aload 0 /* this */
            aload 1
            invokeinterface io.vertx.core.streams.WriteStream.end:(Lio/vertx/core/Handler;)V
         2: .line 106
            goto 4
         3: .line 107
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* ar */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 109
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.streams.WriteStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/streams/WriteStream<TT;>;
            0    5     2    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lio/vertx/core/streams/StreamBase;
SourceFile: "WriteStream.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.VertxGen(concrete = false)