Sha256: 36fdee4e640715f92578093a05c91ea40cdcc88636afbdc801efb6c7c2bf5e99
Contents?: true
Size: 972 Bytes
Versions: 10
Compression:
Stored size: 972 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 ensure @log.close if Oxidized.config.input.debug? end end end
Version data entries
10 entries across 10 versions & 1 rubygems