Class: NATS::Service::Endpoint

Inherits:
Object
  • Object
show all
Defined in:
lib/nats/service/endpoint.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, options:, parent:, &block) ⇒ Endpoint

Returns a new instance of Endpoint.



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/nats/service/endpoint.rb', line 67

def initialize(name:, options:, parent:, &block)
  validate(name, options)

  @name = name

  @service = parent.service
  @subject = build_subject(parent, options)
  @queue = options[:queue] || parent.queue
  @metadata = options[:metadata]

  @stats = NATS::Service::Stats.new
  @handler = create_handler(block)

  @stopped = false
end

Instance Attribute Details

#metadataObject (readonly)

Returns the value of attribute metadata.



65
66
67
# File 'lib/nats/service/endpoint.rb', line 65

def 
  @metadata
end

#nameObject (readonly)

Returns the value of attribute name.



65
66
67
# File 'lib/nats/service/endpoint.rb', line 65

def name
  @name
end

#queueObject (readonly)

Returns the value of attribute queue.



65
66
67
# File 'lib/nats/service/endpoint.rb', line 65

def queue
  @queue
end

#serviceObject (readonly)

Returns the value of attribute service.



65
66
67
# File 'lib/nats/service/endpoint.rb', line 65

def service
  @service
end

#statsObject (readonly)

Returns the value of attribute stats.



65
66
67
# File 'lib/nats/service/endpoint.rb', line 65

def stats
  @stats
end

#subjectObject (readonly)

Returns the value of attribute subject.



65
66
67
# File 'lib/nats/service/endpoint.rb', line 65

def subject
  @subject
end

Instance Method Details

#resetObject



91
92
93
# File 'lib/nats/service/endpoint.rb', line 91

def reset
  stats.reset
end

#stopObject



83
84
85
86
87
88
89
# File 'lib/nats/service/endpoint.rb', line 83

def stop
  service.client.send(:drain_sub, @handler)
rescue
  # nothing we can do here
ensure
  @stopped = true
end

#stopped?Boolean

Returns:

  • (Boolean)


95
96
97
# File 'lib/nats/service/endpoint.rb', line 95

def stopped?
  @stopped
end