public final class jdk.jfr.consumer.RecordingStream implements java.lang.AutoCloseable, jdk.jfr.consumer.EventStream
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.consumer.RecordingStream
  super_class: java.lang.Object
{
  private final jdk.jfr.Recording recording;
    descriptor: Ljdk/jfr/Recording;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jfr.internal.consumer.EventDirectoryStream directoryStream;
    descriptor: Ljdk/jfr/internal/consumer/EventDirectoryStream;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingStream this
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 83
            invokestatic jdk.jfr.internal.Utils.checkAccessFlightRecorder:()V
         2: .line 84
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            astore 1 /* acc */
        start local 1 // java.security.AccessControlContext acc
         3: .line 85
            aload 0 /* this */
            new jdk.jfr.Recording
            dup
            invokespecial jdk.jfr.Recording.<init>:()V
            putfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
         4: .line 87
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            invokevirtual jdk.jfr.internal.PrivateAccess.getPlatformRecording:(Ljdk/jfr/Recording;)Ljdk/jfr/internal/PlatformRecording;
            astore 2 /* pr */
        start local 2 // jdk.jfr.internal.PlatformRecording pr
         5: .line 88
            aload 0 /* this */
            new jdk.jfr.internal.consumer.EventDirectoryStream
            dup
            aload 1 /* acc */
            aconst_null
            getstatic jdk.jfr.internal.SecuritySupport.PRIVILEGED:Ljdk/jfr/internal/consumer/FileAccess;
            aload 2 /* pr */
            invokespecial jdk.jfr.internal.consumer.EventDirectoryStream.<init>:(Ljava/security/AccessControlContext;Ljava/nio/file/Path;Ljdk/jfr/internal/consumer/FileAccess;Ljdk/jfr/internal/PlatformRecording;)V
            putfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
        end local 2 // jdk.jfr.internal.PlatformRecording pr
         6: .line 89
            goto 10
      StackMap locals: jdk.jfr.consumer.RecordingStream java.security.AccessControlContext
      StackMap stack: java.io.IOException
         7: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         8: .line 90
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            invokevirtual jdk.jfr.Recording.close:()V
         9: .line 91
            new java.lang.IllegalStateException
            dup
            aload 2 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.IOException ioe
        10: .line 93
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.AccessControlContext acc
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Ljdk/jfr/consumer/RecordingStream;
            3   11     1   acc  Ljava/security/AccessControlContext;
            5    6     2    pr  Ljdk/jfr/internal/PlatformRecording;
            8   10     2   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     6       7  Class java.io.IOException

  public void <init>(jdk.jfr.Configuration);
    descriptor: (Ljdk/jfr/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // jdk.jfr.Configuration configuration
         0: .line 122
            aload 0 /* this */
            invokespecial jdk.jfr.consumer.RecordingStream.<init>:()V
         1: .line 123
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            aload 1 /* configuration */
            invokevirtual jdk.jfr.Configuration.getSettings:()Ljava/util/Map;
            invokevirtual jdk.jfr.Recording.setSettings:(Ljava/util/Map;)V
         2: .line 124
            return
        end local 1 // jdk.jfr.Configuration configuration
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Ljdk/jfr/consumer/RecordingStream;
            0    3     1  configuration  Ljdk/jfr/Configuration;
    MethodParameters:
               Name  Flags
      configuration  

  public jdk.jfr.EventSettings enable(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jfr/EventSettings;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.lang.String name
         0: .line 141
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            aload 1 /* name */
            invokevirtual jdk.jfr.Recording.enable:(Ljava/lang/String;)Ljdk/jfr/EventSettings;
            areturn
        end local 1 // java.lang.String name
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/consumer/RecordingStream;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void setSettings(java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.util.Map settings
         0: .line 167
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            aload 1 /* settings */
            invokevirtual jdk.jfr.Recording.setSettings:(Ljava/util/Map;)V
         1: .line 168
            return
        end local 1 // java.util.Map settings
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  settings  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
          Name  Flags
      settings  

  public jdk.jfr.EventSettings enable(java.lang.Class<? extends jdk.jfr.Event>);
    descriptor: (Ljava/lang/Class;)Ljdk/jfr/EventSettings;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.lang.Class eventClass
         0: .line 181
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            aload 1 /* eventClass */
            invokevirtual jdk.jfr.Recording.enable:(Ljava/lang/Class;)Ljdk/jfr/EventSettings;
            areturn
        end local 1 // java.lang.Class eventClass
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/jfr/consumer/RecordingStream;
            0    1     1  eventClass  Ljava/lang/Class<+Ljdk/jfr/Event;>;
    Signature: (Ljava/lang/Class<+Ljdk/jfr/Event;>;)Ljdk/jfr/EventSettings;
    MethodParameters:
            Name  Flags
      eventClass  

  public jdk.jfr.EventSettings disable(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljdk/jfr/EventSettings;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.lang.String name
         0: .line 198
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            aload 1 /* name */
            invokevirtual jdk.jfr.Recording.disable:(Ljava/lang/String;)Ljdk/jfr/EventSettings;
            areturn
        end local 1 // java.lang.String name
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/consumer/RecordingStream;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public jdk.jfr.EventSettings disable(java.lang.Class<? extends jdk.jfr.Event>);
    descriptor: (Ljava/lang/Class;)Ljdk/jfr/EventSettings;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.lang.Class eventClass
         0: .line 213
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            aload 1 /* eventClass */
            invokevirtual jdk.jfr.Recording.disable:(Ljava/lang/Class;)Ljdk/jfr/EventSettings;
            areturn
        end local 1 // java.lang.Class eventClass
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/jfr/consumer/RecordingStream;
            0    1     1  eventClass  Ljava/lang/Class<+Ljdk/jfr/Event;>;
    Signature: (Ljava/lang/Class<+Ljdk/jfr/Event;>;)Ljdk/jfr/EventSettings;
    MethodParameters:
            Name  Flags
      eventClass  

  public void setMaxAge(java.time.Duration);
    descriptor: (Ljava/time/Duration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.time.Duration maxAge
         0: .line 236
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            aload 1 /* maxAge */
            invokevirtual jdk.jfr.Recording.setMaxAge:(Ljava/time/Duration;)V
         1: .line 237
            return
        end local 1 // java.time.Duration maxAge
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  maxAge  Ljava/time/Duration;
    MethodParameters:
        Name  Flags
      maxAge  

  public void setMaxSize(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // long maxSize
         0: .line 259
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            lload 1 /* maxSize */
            invokevirtual jdk.jfr.Recording.setMaxSize:(J)V
         1: .line 260
            return
        end local 1 // long maxSize
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  maxSize  J
    MethodParameters:
         Name  Flags
      maxSize  

  public void setReuse(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // boolean reuse
         0: .line 264
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            iload 1 /* reuse */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.setReuse:(Z)V
         1: .line 265
            return
        end local 1 // boolean reuse
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  reuse  Z
    MethodParameters:
       Name  Flags
      reuse  

  public void setOrdered(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // boolean ordered
         0: .line 269
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            iload 1 /* ordered */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.setOrdered:(Z)V
         1: .line 270
            return
        end local 1 // boolean ordered
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  ordered  Z
    MethodParameters:
         Name  Flags
      ordered  

  public void setStartTime(java.time.Instant);
    descriptor: (Ljava/time/Instant;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.time.Instant startTime
         0: .line 274
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            aload 1 /* startTime */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.setStartTime:(Ljava/time/Instant;)V
         1: .line 275
            return
        end local 1 // java.time.Instant startTime
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  startTime  Ljava/time/Instant;
    MethodParameters:
           Name  Flags
      startTime  

  public void setEndTime(java.time.Instant);
    descriptor: (Ljava/time/Instant;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.time.Instant endTime
         0: .line 279
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            aload 1 /* endTime */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.setEndTime:(Ljava/time/Instant;)V
         1: .line 280
            return
        end local 1 // java.time.Instant endTime
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  endTime  Ljava/time/Instant;
    MethodParameters:
         Name  Flags
      endTime  

  public void onEvent(java.lang.String, java.util.function.Consumer<jdk.jfr.consumer.RecordedEvent>);
    descriptor: (Ljava/lang/String;Ljava/util/function/Consumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.lang.String eventName
        start local 2 // java.util.function.Consumer action
         0: .line 284
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            aload 1 /* eventName */
            aload 2 /* action */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.onEvent:(Ljava/lang/String;Ljava/util/function/Consumer;)V
         1: .line 285
            return
        end local 2 // java.util.function.Consumer action
        end local 1 // java.lang.String eventName
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  eventName  Ljava/lang/String;
            0    2     2     action  Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;
    Signature: (Ljava/lang/String;Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;)V
    MethodParameters:
           Name  Flags
      eventName  
      action     

  public void onEvent(java.util.function.Consumer<jdk.jfr.consumer.RecordedEvent>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.util.function.Consumer action
         0: .line 289
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            aload 1 /* action */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.onEvent:(Ljava/util/function/Consumer;)V
         1: .line 290
            return
        end local 1 // java.util.function.Consumer action
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  action  Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;
    Signature: (Ljava/util/function/Consumer<Ljdk/jfr/consumer/RecordedEvent;>;)V
    MethodParameters:
        Name  Flags
      action  

  public void onFlush(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.lang.Runnable action
         0: .line 294
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            aload 1 /* action */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.onFlush:(Ljava/lang/Runnable;)V
         1: .line 295
            return
        end local 1 // java.lang.Runnable action
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  action  Ljava/lang/Runnable;
    MethodParameters:
        Name  Flags
      action  

  public void onClose(java.lang.Runnable);
    descriptor: (Ljava/lang/Runnable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.lang.Runnable action
         0: .line 299
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            aload 1 /* action */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.onClose:(Ljava/lang/Runnable;)V
         1: .line 300
            return
        end local 1 // java.lang.Runnable action
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  action  Ljava/lang/Runnable;
    MethodParameters:
        Name  Flags
      action  

  public void onError(java.util.function.Consumer<java.lang.Throwable>);
    descriptor: (Ljava/util/function/Consumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.util.function.Consumer action
         0: .line 304
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            aload 1 /* action */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.onError:(Ljava/util/function/Consumer;)V
         1: .line 305
            return
        end local 1 // java.util.function.Consumer action
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  action  Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
    Signature: (Ljava/util/function/Consumer<Ljava/lang/Throwable;>;)V
    MethodParameters:
        Name  Flags
      action  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingStream this
         0: .line 309
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            invokevirtual jdk.jfr.Recording.close:()V
         1: .line 310
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.close:()V
         2: .line 311
            return
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jfr/consumer/RecordingStream;

  public boolean remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.lang.Object action
         0: .line 315
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            aload 1 /* action */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.remove:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object action
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/jfr/consumer/RecordingStream;
            0    1     1  action  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      action  

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingStream this
         0: .line 320
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            invokevirtual jdk.jfr.internal.PrivateAccess.getPlatformRecording:(Ljdk/jfr/Recording;)Ljdk/jfr/internal/PlatformRecording;
            astore 1 /* pr */
        start local 1 // jdk.jfr.internal.PlatformRecording pr
         1: .line 321
            aload 1 /* pr */
            invokevirtual jdk.jfr.internal.PlatformRecording.start:()J
            lstore 2 /* startNanos */
        start local 2 // long startNanos
         2: .line 322
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            lload 2 /* startNanos */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.start:(J)V
         3: .line 323
            return
        end local 2 // long startNanos
        end local 1 // jdk.jfr.internal.PlatformRecording pr
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/jfr/consumer/RecordingStream;
            1    4     1          pr  Ljdk/jfr/internal/PlatformRecording;
            2    4     2  startNanos  J

  public void startAsync();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingStream this
         0: .line 350
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.recording:Ljdk/jfr/Recording;
            invokevirtual jdk.jfr.internal.PrivateAccess.getPlatformRecording:(Ljdk/jfr/Recording;)Ljdk/jfr/internal/PlatformRecording;
            astore 1 /* pr */
        start local 1 // jdk.jfr.internal.PlatformRecording pr
         1: .line 351
            aload 1 /* pr */
            invokevirtual jdk.jfr.internal.PlatformRecording.start:()J
            lstore 2 /* startNanos */
        start local 2 // long startNanos
         2: .line 352
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            lload 2 /* startNanos */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.startAsync:(J)V
         3: .line 353
            return
        end local 2 // long startNanos
        end local 1 // jdk.jfr.internal.PlatformRecording pr
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/jfr/consumer/RecordingStream;
            1    4     1          pr  Ljdk/jfr/internal/PlatformRecording;
            2    4     2  startNanos  J

  public void awaitTermination(java.time.Duration);
    descriptor: (Ljava/time/Duration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.jfr.consumer.RecordingStream this
        start local 1 // java.time.Duration timeout
         0: .line 357
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            aload 1 /* timeout */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.awaitTermination:(Ljava/time/Duration;)V
         1: .line 358
            return
        end local 1 // java.time.Duration timeout
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljdk/jfr/consumer/RecordingStream;
            0    2     1  timeout  Ljava/time/Duration;
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      timeout  

  public void awaitTermination();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.consumer.RecordingStream this
         0: .line 362
            aload 0 /* this */
            getfield jdk.jfr.consumer.RecordingStream.directoryStream:Ljdk/jfr/internal/consumer/EventDirectoryStream;
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.awaitTermination:()V
         1: .line 363
            return
        end local 0 // jdk.jfr.consumer.RecordingStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/consumer/RecordingStream;
    Exceptions:
      throws java.lang.InterruptedException
}
SourceFile: "RecordingStream.java"