Class: Rbgo::IOMachine

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

Instance Method Summary collapse

Instance Method Details

#closeObject



70
71
72
73
# File 'lib/rbgo/io_machine.rb', line 70

def close
  actor.close
  selector.close
end

#closed?Boolean

Returns:

  • (Boolean)


75
76
77
# File 'lib/rbgo/io_machine.rb', line 75

def closed?
  actor.closed? && selector.closed?
end

#do_read(io, length: nil) ⇒ Object



7
8
9
10
11
12
# File 'lib/rbgo/io_machine.rb', line 7

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



21
22
23
24
25
26
# File 'lib/rbgo/io_machine.rb', line 21

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



28
29
30
31
32
33
# File 'lib/rbgo/io_machine.rb', line 28

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



35
36
37
38
39
40
# File 'lib/rbgo/io_machine.rb', line 35

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



42
43
44
45
46
47
# File 'lib/rbgo/io_machine.rb', line 42

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



49
50
51
52
53
54
# File 'lib/rbgo/io_machine.rb', line 49

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



56
57
58
59
60
61
# File 'lib/rbgo/io_machine.rb', line 56

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



63
64
65
66
67
68
# File 'lib/rbgo/io_machine.rb', line 63

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



14
15
16
17
18
19
# File 'lib/rbgo/io_machine.rb', line 14

def do_write(io, str:)
  op      = [:register_write, io, str]
  receipt = IOReceipt.new(op)
  actor.send_msg(receipt)
  receipt
end