Skip to content

data structure in libuv #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
hustxiaoc opened this issue Nov 27, 2014 · 2 comments
Open

data structure in libuv #6

hustxiaoc opened this issue Nov 27, 2014 · 2 comments

Comments

@hustxiaoc
Copy link
Owner

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)
}
@hustxiaoc
Copy link
Owner Author

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
}

@hustxiaoc
Copy link
Owner Author

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)
  }
}

@hustxiaoc hustxiaoc changed the title data structure data structure in libuv Nov 28, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant