Sha256: cb9f0b82188d69ecfcc791b14dd1ea7bc2c1c452006173b0185063b8411b1061

Contents?: true

Size: 783 Bytes

Versions: 3

Compression:

Stored size: 783 Bytes

Contents

module Pione
  module Agent
    class TupleSpaceServerClientLifeChecker < BasicAgent
      include TupleSpaceServerInterface

      define_state :checking_bye
      define_state :cleaning_agent
      define_state :sleeping

      define_state_transition :initialized => :checking_bye
      define_state_transition :checking_bye => :cleaning_agent
      define_state_transition :cleaning_agent => :checking_bye

      def initialize(tuple_space_server)
        super()
        set_tuple_space_server(tuple_space_server)
      end

      def transit_to_checking_bye
        return take(Tuple[:bye].any)
      end

      def transit_to_cleaning_agent(bye=nil)
        if bye
          take(Tuple[:agent].new(uuid: bye.uuid))
          return nil
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pione-0.2.2 lib/pione/agent/tuple-space-server-client-life-checker.rb
pione-0.2.1 lib/pione/agent/tuple-space-server-client-life-checker.rb
pione-0.2.0 lib/pione/agent/tuple-space-server-client-life-checker.rb