Sha256: e751a6f1f6b61782a77709d96682598abbf2e13af861a967e37dcc596aa8cec4
Contents?: true
Size: 957 Bytes
Versions: 8
Compression:
Stored size: 957 Bytes
Contents
module Oxidized require 'stringio' require_relative 'cli' begin require 'net/tftp' rescue LoadError raise OxidizedError, 'net/tftp not found: sudo gem install net-tftp' end class TFTP < Input include Input::CLI # TFTP utilizes UDP, there is not a connection. We simply specify an IP and send/receive data. def connect(node) @node = node @node.model.cfg['tftp'].each { |cb| instance_exec(&cb) } @log = File.open(Oxidized::Config::Log + "/#{@node.ip}-tftp", 'w') if Oxidized.config.input.debug? @tftp = Net::TFTP.new @node.ip end def cmd(file) Oxidized.logger.debug "TFTP: #{file} @ #{@node.name}" config = StringIO.new @tftp.getbinary file, config config.rewind config.read end private def disconnect # TFTP uses UDP, there is no connection to close true ensure @log.close if Oxidized.config.input.debug? end end end
Version data entries
8 entries across 8 versions & 1 rubygems