Skip to main content

ferrijs_std/utils/
provider.rs

1// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2// SPDX-License-Identifier: Apache-2.0
3#[derive(PartialEq)]
4pub enum ProviderType {
5    None,
6    Resource(String), // Custom asynchronous resource
7    // Userland provider types
8    Immediate,   // [Immediate] Processing by setImmediate()
9    Interval,    // [Interval] Timer by setInterval()
10    MessagePort, // [MessagePort] Port for worker_threads
11    Microtask,   // [Microtask] Processing by queueMicrotask()
12    TickObject,  // [TickObject] Processing by process.nextTick()
13    Timeout,     // [Timeout] Timer by setTimeout()
14    // Internal provider types
15    FsReqCallback,      // [FSREQCALLBACK] Callback for file system operations
16    GetAddrInfoReqWrap, // [GETADDRINFOREQWRAP] When resolving DNS (dns.lookup(), etc.)
17    GetNameInfoReqWrap, // [GETNAMEINFOREQWRAP] DNS reverse lookup
18    PipeWrap,           // [PIPEWRAP] Pipe connection
19    StatWatcher,        // [STATWACHER] File monitoring such as fs.watch()
20    TcpWrap,            // [TCPWRAP] TCP socket wrap (net.Socket, etc.)
21    TimerWrap,          // [TIMERWRAP] Internal timer wrap (low level)
22    TlsWrap,            // [TLSWRAP] TLS socket (HTTPS, etc.)
23    UdpWrap,            // [UDPWRAP] UDP socket wrap (dgram module)
24}