Class: Sumac::Connection

Inherits:
Object show all
Includes:
QueuedStateMachine
Defined in:
lib/sumac/connection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sumac, duck_types:, entry:, messenger:, workers:) ⇒ Connection

Returns a new instance of Connection.



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/sumac/connection.rb', line 75

def initialize(sumac, duck_types: , entry: , messenger: , workers: )
  super()
  @sumac = sumac
  @local_entry = entry
  @messenger_adapter = messenger
  @remote_entry = RemoteEntry.new
  @mutex = Mutex.new
  @messenger = Messenger.new(self)
  @call_dispatcher = CallDispatcher.new(self)
  @call_processor = CallProcessor.new(self)
  @handshake = Handshake.new(self)
  @shutdown = Shutdown.new(self)
  @local_references = LocalReferences.new(self)
  @remote_references = RemoteReferences.new(self)
  @scheduler = Scheduler.new(self, workers)
  @closer = Closer.new(self)
end

Instance Attribute Details

#call_dispatcherObject (readonly)

Returns the value of attribute call_dispatcher.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def call_dispatcher
  @call_dispatcher
end

#call_processorObject (readonly)

Returns the value of attribute call_processor.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def call_processor
  @call_processor
end

#closerObject (readonly)

Returns the value of attribute closer.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def closer
  @closer
end

#handshakeObject (readonly)

Returns the value of attribute handshake.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def handshake
  @handshake
end

#local_entryObject (readonly)

Returns the value of attribute local_entry.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def local_entry
  @local_entry
end

#local_referencesObject (readonly)

Returns the value of attribute local_references.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def local_references
  @local_references
end

#messengerObject (readonly)

Returns the value of attribute messenger.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def messenger
  @messenger
end

#messenger_adapterObject (readonly)

Returns the value of attribute messenger_adapter.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def messenger_adapter
  @messenger_adapter
end

#mutexObject (readonly)

Returns the value of attribute mutex.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def mutex
  @mutex
end

#remote_entryObject

Returns the value of attribute remote_entry.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def remote_entry
  @remote_entry
end

#remote_referencesObject (readonly)

Returns the value of attribute remote_references.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def remote_references
  @remote_references
end

#schedulerObject (readonly)

Returns the value of attribute scheduler.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def scheduler
  @scheduler
end

#shutdownObject (readonly)

Returns the value of attribute shutdown.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def shutdown
  @shutdown
end

#sumacObject (readonly)

Returns the value of attribute sumac.



68
69
70
# File 'lib/sumac/connection.rb', line 68

def sumac
  @sumac
end