Sha256: dba5a1f738693a68155eff1e0952bd73d093947f634d9a02dfef0c2729375395
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
module HeadStartApp module Marionette require 'uri' # Master class is the ZMQ socket connection on the puppet master class Master attr_accessor :socket, :threads def initialize(socket) # Set socket @socket = socket end # Sends a msg to puppet node def send(msg) # Send and Receive @socket.send_string Marshal.dump(msg) end # Stands by for the next msg from puppet # Processes and returns response def receive # Poll server until it is receive-able poller = ZMQ::Poller.new poller.register_readable @socket while true do poll_reply = poller.poll 500 key = poll_reply.keys.first # fetch the first and only hash key break if poll_reply[key][:revents] == 1 # fetch revents end # Receive message begin response = socket.recv_string @response = Marshal.load(response) rescue # Catch non-marshal-able response @response = response end @response end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
marionette-0.0.6 | lib/marionette/master.rb |