Skip to content

About the new redesigned I/O Multiplexing backend #406

@halx99

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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions