Class: Rbgo::IOMachine

Inherits:
Object
  • Object
show all
Defined in:
lib/rbgo/io_machine.rb

Instance Method Summary collapse

Instance Method Details

#closeObject



104
105
106
107
# File 'lib/rbgo/io_machine.rb', line 104

def close
  actor.close
  selector.close
end

#closed?Boolean

Returns:

  • (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