module TFTP::Protocol
Constants
- ERROR_MESSAGES
Private Instance Methods
send_ack(addr=@peer_addr, port=@peer_port, block_no)
click to toggle source
# File lib/em-tftp.rb, line 87 def send_ack(addr=@peer_addr, port=@peer_port, block_no) data = "\0\4" << ((block_no >> 8) & 255) << (block_no & 255) send_packet(addr, port, data) end
send_block(addr=@peer_addr, port=@peer_port, buffer, pos, block_no)
click to toggle source
# File lib/em-tftp.rb, line 81 def send_block(addr=@peer_addr, port=@peer_port, buffer, pos, block_no) block = buffer.slice(pos, 512) || "" data = "\0\3" << ((block_no >> 8) & 255) << (block_no & 255) << block send_packet(data) pos + 512 end
send_error(addr=@peer_addr, port=@peer_port, code, msg)
click to toggle source
# File lib/em-tftp.rb, line 91 def send_error(addr=@peer_addr, port=@peer_port, code, msg) data = "\0\5" << ((code >> 8) & 255) << (code & 255) << msg << "\0" send_packet(addr, port, data) end
send_packet(addr=@peer_addr, port=@peer_port, data)
click to toggle source
# File lib/em-tftp.rb, line 95 def send_packet(addr=@peer_addr, port=@peer_port, data) # this appears useless, but is intended to be overridden $stderr.puts "Sending: #{data} (#{data[0..3].bytes.to_a.join(',')}) to #{addr}:#{port}" if $DEBUG send_datagram(data, addr, port) end
send_rrq(addr=@peer_addr, port=@peer_port, filename)
click to toggle source
# File lib/em-tftp.rb, line 73 def send_rrq(addr=@peer_addr, port=@peer_port, filename) data = "\0\1" << filename << "\0octet\0" send_packet(addr, port, data) end
send_wrq(addr=@peer_addr, port=@peer_port, filename)
click to toggle source
# File lib/em-tftp.rb, line 77 def send_wrq(addr=@peer_addr, port=@peer_port, filename) data = "\0\2" << filename << "\0octet\0" send_packet(addr, port, data) end