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}