class

HoundDog::Discovery

Inherits Reference < Object

Constants

Log = ::Log.for(self)

Constructors

new(service : String, name : String = ULID.generate, uri : URI | String = URI.new(host: "127.0.0.1", port: 8080, scheme: "http"), watchfeed : Bool = true, on_change : Callback | Nil = nil)
Source

Class methods

from_hash_value(hash_node : String) : Service::Node

Convert a rendezvous-hash formatted value to a Service::Node

Source
to_hash_value(node : Service::Node)

Convert a Service::Node to a rendezvous-hash formatted value

Source

Instance methods

[](key)
Source
[]?(key)
Source
etcd(*args, **options)

Service methods

Source
etcd(*args, **options, &)

Service methods

Source
finalize
Source
find(key : String) : Service::Node

Consistent hash lookup

Source
find?(key : String) : Service::Node | Nil

Consistent hash lookup

Source
lease_id(*args, **options)

Service getters

Source
lease_id(*args, **options, &)

Service getters

Source
name(*args, **options)

Service getters

Source
name(*args, **options, &)

Service getters

Source
node(*args, **options)

Service getters

Source
node(*args, **options, &)

Service getters

Source
node_hash

Construct a mapping of node names their URIs

Source
nodes

Nodes from the rendezvous-hash

Source
own_node?(key : String) : Bool

Determine if key maps to current node

Source
register(*args, **options)

Service methods

Source
register

Register service

Source
register(*args, **options, &)

Service methods

Source
registered?(*args, **options)

Service methods

Source
registered?(*args, **options, &)

Service methods

Source
registration_channel(*args, **options)

Service methods

Source
registration_channel(*args, **options, &)

Service methods

Source
rendezvous
Source
service(*args, **options)

Service getters

Source
service(*args, **options, &)

Service getters

Source
unmonitor(*args, **options)

Service methods

Source
unmonitor(*args, **options, &)

Service methods

Source
unregister

Unregister service

Source
uri(*args, **options)

Service getters

Source
uri(*args, **options, &)

Service getters

Source

Nested types