Class: NETSNMP::Session::Transport
- Inherits:
-
Object
- Object
- NETSNMP::Session::Transport
- Defined in:
- lib/netsnmp/session.rb
Constant Summary collapse
- MAXPDUSIZE =
0xffff + 1
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(host, port, timeout:) ⇒ Transport
constructor
A new instance of Transport.
- #recv(bytesize = MAXPDUSIZE) ⇒ Object
- #send(payload) ⇒ Object
- #write(payload) ⇒ Object
Constructor Details
#initialize(host, port, timeout:) ⇒ Transport
Returns a new instance of Transport.
78 79 80 81 82 |
# File 'lib/netsnmp/session.rb', line 78 def initialize(host, port, timeout:) @socket = UDPSocket.new @socket.connect(host, port) @timeout = timeout end |
Instance Method Details
#close ⇒ Object
84 85 86 |
# File 'lib/netsnmp/session.rb', line 84 def close @socket.close end |
#recv(bytesize = MAXPDUSIZE) ⇒ Object
99 100 101 102 103 104 |
# File 'lib/netsnmp/session.rb', line 99 def recv(bytesize = MAXPDUSIZE) perform_io do datagram, = @socket.recvfrom_nonblock(bytesize) datagram end end |
#send(payload) ⇒ Object
88 89 90 91 |
# File 'lib/netsnmp/session.rb', line 88 def send(payload) write(payload) recv end |
#write(payload) ⇒ Object
93 94 95 96 97 |
# File 'lib/netsnmp/session.rb', line 93 def write(payload) perform_io do @socket.send(payload, 0) end end |