Documentation for method native-descriptor assembled from the following pages:

Class: IO::CatHandle §

From IO::CatHandle

(IO::CatHandle) method native-descriptor §

Defined as:

method native-descriptor(IO::CatHandle:D: --> Int:D)

Returns the native-descriptor of the currently active source handle or Nil if the source handle queue has been exhausted.

Since the CatHandle closes a source handle, once it's done with it, it's possible for successive source handles to have the same native descriptor, if they were passed to .new as Cool or IO::Path objects.

(my $f1 = 'foo'.IO).spurt: 'foo';
(my $f2 = 'bar'.IO).spurt: 'bar';
with IO::CatHandle.new: $f1$f2$*IN {
    repeat { .native-descriptor.say } while .next-handle;
    # OUTPUT: «13␤13␤9␤» 
}

Class: IO::Handle §

From IO::Handle

(IO::Handle) method native-descriptor §

Defined as:

method native-descriptor(IO::Handle:D:)

This returns a value that the operating system would understand as a "file descriptor" and is suitable for passing to a native function that requires a file descriptor as an argument such as fcntl or ioctl.

Role: IO::Socket §

From IO::Socket

(IO::Socket) method native-descriptor §

method native-descriptor()

This returns a value that the operating system would understand as a "socket descriptor" and is suitable for passing to a native function that requires a socket descriptor as an argument such as setsockopt.

Class: IO::Socket::Async §

From IO::Socket::Async

(IO::Socket::Async) method native-descriptor §

method native-descriptor(--> Int)

Returns the file descriptor of this socket.

Class: IO::Socket::Async::ListenSocket §

From IO::Socket::Async::ListenSocket

(IO::Socket::Async::ListenSocket) method native-descriptor §

method native-descriptor(--> Int)

Returns the corresponding file descriptor (SOCKET on Windows) for the listening socket.