node.js
node.js copied to clipboard
data structure in libuv
uv_loop_t
{
data = 0x0000000000000000
active_handles = 2
handle_queue = ([0] = void * = 0x00000001000238a0, [1] = void * = 0x0000000100023bc8)
active_reqs = ([0] = void * = 0x0000000100023678, [1] = void * = 0x0000000100023678)
stop_flag = 0
flags = 0
backend_fd = 5
pending_queue = ([0] = void * = 0x00000001000236a0, [1] = void * = 0x00000001000236a0)
watcher_queue = ([0] = void * = 0x00000001000236b0, [1] = void * = 0x00000001000236b0)
watchers = 0x0000000100108a90
nwatchers = 14
nfds = 2
wq = ([0] = void * = 0x00000001000236d0, [1] = void * = 0x00000001000236d0)
wq_mutex = (__sig = 1297437784, __opaque = "")
wq_async = {
close_cb = 0x0000000000000000
data = 0x0000000000000000
loop = 0x0000000100023658
type = UV_ASYNC
handle_queue = ([0] = void * = 0x0000000100023b70, [1] = void * = 0x00000001000238a0)
flags = 49152
next_closing = 0x0000000000000000
async_cb = 0x0000000100017060 (main`uv__work_done at threadpool.c:194)
queue = ([0] = void * = 0x0000000100023bf0, [1] = void * = 0x00000001000237c8)
pending = 0
}
closing_handles = 0x0000000000000000
process_handles = {
[0] = ([0] = void * = 0x0000000100023788, [1] = void * = 0x0000000100023788)
}
prepare_handles = ([0] = void * = 0x0000000100023b98, [1] = void * = 0x0000000100023b98)
check_handles = ([0] = void * = 0x00000001000237a8, [1] = void * = 0x00000001000237a8)
idle_handles = ([0] = void * = 0x00000001000237b8, [1] = void * = 0x00000001000237b8)
async_handles = ([0] = void * = 0x0000000100023768, [1] = void * = 0x0000000100023bf0)
async_watcher = {
cb = 0x0000000100005150 (main`uv__async_event at async.c:75)
io_watcher = {
cb = 0x00000001000054b0 (main`uv__async_io at async.c:124)
pending_queue = ([0] = void * = 0x00000001000237e8, [1] = void * = 0x00000001000237e8)
watcher_queue = ([0] = void * = 0x00000001000237f8, [1] = void * = 0x00000001000237f8)
pevents = 1
events = 1
fd = 8
rcount = 0
wcount = 0
}
wfd = 9
}
timer_handles = {
rbh_root = 0x0000000000000000
}
time = 15073057
signal_pipefd = ([0] = 6, [1] = 7)
signal_io_watcher = {
cb = 0x00000001000103f0 (main`uv__signal_event at signal.c:343)
pending_queue = ([0] = void * = 0x0000000100023848, [1] = void * = 0x0000000100023848)
watcher_queue = ([0] = void * = 0x0000000100023858, [1] = void * = 0x0000000100023858)
pevents = 1
events = 1
fd = 6
rcount = 0
wcount = 0
}
child_watcher = {
close_cb = 0x0000000000000000
data = 0x0000000000000000
loop = 0x0000000100023658
type = UV_SIGNAL
handle_queue = ([0] = void * = 0x0000000100023740, [1] = void * = 0x0000000100023668)
flags = 32768
next_closing = 0x0000000000000000
signal_cb = 0x0000000000000000
signum = 0
tree_entry = {
rbe_left = 0x0000000000000000
rbe_right = 0x0000000000000000
rbe_parent = 0x0000000000000000
rbe_color = 0
}
caught_signals = 0
dispatched_signals = 0
}
emfile_fd = -1
timer_counter = 0
cf_thread = 0x0000000000000000
_cf_reserved = 0x0000000000000000
cf_state = 0x0000000000000000
cf_mutex = (__sig = 0, __opaque = "")
cf_sem = 0
cf_signals = ([0] = void * = 0x0000000000000000, [1] = void * = 0x0000000000000000)
}
uv_stream_t
server tcp stream
{
close_cb = 0x0000000000000000
data = 0x0000000000000000
loop = 0x0000000100023658
type = UV_TCP
handle_queue = ([0] = void * = 0x0000000100023668, [1] = void * = 0x0000000100023740)
flags = 24672
next_closing = 0x0000000000000000
write_queue_size = 0
alloc_cb = 0x0000000000000000
read_cb = 0x0000000000000000
read2_cb = 0x0000000000000000
connect_req = 0x0000000000000000
shutdown_req = 0x0000000000000000
io_watcher = {
cb = 0x0000000100011f70 (main`uv__server_io at stream.c:497)
pending_queue = ([0] = void * = 0x00007fff5fbff9d8, [1] = void * = 0x00007fff5fbff9d8)
watcher_queue = ([0] = void * = 0x00007fff5fbff9e8, [1] = void * = 0x00007fff5fbff9e8)
pevents = 1
events = 1
fd = 11
rcount = 1
wcount = 0
}
write_queue = ([0] = void * = 0x00007fff5fbffa10, [1] = void * = 0x00007fff5fbffa10)
write_completed_queue = ([0] = void * = 0x00007fff5fbffa20, [1] = void * = 0x00007fff5fbffa20)
connection_cb = 0x000000010001fae0 (main`connection_cb at main.c:25)
delayed_error = 0
accepted_fd = -1
select = 0x0000000000000000
}
uv_write_t
{
data = 0x0000000000000000
type = UV_WRITE
active_queue = ([0] = void * = 0x0000000100023678, [1] = void * = 0x0000000100023678)
cb = 0x000000010001fd60 (main`write_cb at main.c:71)
send_handle = 0x0000000000000000
handle = 0x000000010010ac20
queue = ([0] = void * = 0x000000010010acd0, [1] = void * = 0x000000010010acd0)
write_index = 0
bufs = 0x000000010010ad70
nbufs = 1
error = 0
bufsml = {
[0] = (base = "123456\n", len = 7)
[1] = (base = char * = 0x0000000000000000, len = 0)
[2] = (base = char * = 0x0000000000000000, len = 0)
[3] = (base = char * = 0x0000000000000000, len = 0)
}
}