Skip to content

About the new redesigned I/O Multiplexing backend #406

Description

@halx99

yasio::inet::io_primitive:

  • iocp_io_primitive for windows
  • epoll_io_primitive for linux
  • kqueue_io_primitive for bsd(macOS,ios,tvOS)
  • poll_io_primitive for all os
  • select_io_primitive for all os
  • evport_io_primitive for solaris

basic types:

yasio::inet::io_operation (OVERLAPPED or reactor non-blocking io)

APIs of io_primitive

  • do_open(xxsocket& s)
  • int connect(io_base*, const xxsocket& s, const ip::endpoint&)
  • int accept(io_base*)
  • int send(io_base*)
  • int recv(io_base*)
  • int poll_io(int64_t wait_us)
  • void wakeup()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions