Class: Rbgo::IOMachine
- Inherits:
-
Object
- Object
- Rbgo::IOMachine
- Defined in:
- lib/rbgo/io_machine.rb
Instance Method Summary collapse
- #close ⇒ Object
- #closed? ⇒ Boolean
- #do_read(io, length: nil) ⇒ Object
- #do_read_line(io, sep: $/, limit: nil) ⇒ Object
- #do_read_partial(io, maxlen:) ⇒ Object
- #do_socket_accept(sock) ⇒ Object
- #do_socket_connect(sock, remote_sockaddr:) ⇒ Object
- #do_socket_recv(sock, maxlen:, flags: 0) ⇒ Object
- #do_socket_recvmsg(sock, maxdatalen: nil, flags: 0, maxcontrollen: nil, opts: {}) ⇒ Object
- #do_socket_sendmsg(sock, mesg, flags: 0, dest_sockaddr: nil, controls: []) ⇒ Object
- #do_write(io, str:) ⇒ Object
Instance Method Details
#close ⇒ Object
104 105 106 107 |
# File 'lib/rbgo/io_machine.rb', line 104 def close actor.close selector.close end |
#closed? ⇒ Boolean
109 110 111 |
# File 'lib/rbgo/io_machine.rb', line 109 def closed? actor.closed? && selector.closed? end |
#do_read(io, length: nil) ⇒ Object
41 42 43 44 45 46 |
# File 'lib/rbgo/io_machine.rb', line 41 def do_read(io, length: nil) op = [:register_read, io, length] receipt = IOReceipt.new(op) actor.send_msg(receipt) receipt end |
#do_read_line(io, sep: $/, limit: nil) ⇒ Object
55 56 57 58 59 60 |
# File 'lib/rbgo/io_machine.rb', line 55 def do_read_line(io, sep: $/, limit: nil) op = [:register_read_line, io, sep, limit] receipt = IOReceipt.new(op) actor.send_msg(receipt) receipt end |
#do_read_partial(io, maxlen:) ⇒ Object
62 63 64 65 66 67 |
# File 'lib/rbgo/io_machine.rb', line 62 def do_read_partial(io, maxlen:) op = [:register_read_partial, io, maxlen] receipt = IOReceipt.new(op) actor.send_msg(receipt) receipt end |
#do_socket_accept(sock) ⇒ Object
69 70 71 72 73 74 |
# File 'lib/rbgo/io_machine.rb', line 69 def do_socket_accept(sock) op = [:register_socket_accept, sock] receipt = IOReceipt.new(op) actor.send_msg(receipt) receipt end |
#do_socket_connect(sock, remote_sockaddr:) ⇒ Object
76 77 78 79 80 81 |
# File 'lib/rbgo/io_machine.rb', line 76 def do_socket_connect(sock, remote_sockaddr:) op = [:register_socket_connect, sock, remote_sockaddr] receipt = IOReceipt.new(op) actor.send_msg(receipt) receipt end |
#do_socket_recv(sock, maxlen:, flags: 0) ⇒ Object
83 84 85 86 87 88 |
# File 'lib/rbgo/io_machine.rb', line 83 def do_socket_recv(sock, maxlen:, flags: 0) op = [:register_socket_recv, sock, maxlen, flags] receipt = IOReceipt.new(op) actor.send_msg(receipt) receipt end |
#do_socket_recvmsg(sock, maxdatalen: nil, flags: 0, maxcontrollen: nil, opts: {}) ⇒ Object
90 91 92 93 94 95 |
# File 'lib/rbgo/io_machine.rb', line 90 def do_socket_recvmsg(sock, maxdatalen: nil, flags: 0, maxcontrollen: nil, opts: {}) op = [:register_socket_recvmsg, sock, maxdatalen, flags, maxcontrollen, opts] receipt = IOReceipt.new(op) actor.send_msg(receipt) receipt end |
#do_socket_sendmsg(sock, mesg, flags: 0, dest_sockaddr: nil, controls: []) ⇒ Object
97 98 99 100 101 102 |
# File 'lib/rbgo/io_machine.rb', line 97 def do_socket_sendmsg(sock, mesg, flags: 0, dest_sockaddr: nil, controls: []) op = [:register_socket_sendmsg, sock, mesg, flags, dest_sockaddr, controls] receipt = IOReceipt.new(op) actor.send_msg(receipt) receipt end |
#do_write(io, str:) ⇒ Object
48 49 50 51 52 53 |
# File 'lib/rbgo/io_machine.rb', line 48 def do_write(io, str:) op = [:register_write, io, str] receipt = IOReceipt.new(op) actor.send_msg(receipt) receipt end |