Class BootstrapRegistryClient
java.lang.Object
org.j7m.middleware.registry.bootstrap.BootstrapRegistryClient
- All Implemented Interfaces:
AutoCloseable, org.j7m.middleware.registry.api.PeerGraphRegistry, org.j7m.middleware.registry.api.RegistryClient, org.j7m.middleware.registry.api.RegistryDiagnostics
public final class BootstrapRegistryClient
extends Object
implements org.j7m.middleware.registry.api.RegistryClient, org.j7m.middleware.registry.api.PeerGraphRegistry, org.j7m.middleware.registry.api.RegistryDiagnostics
Bootstrap-hint registry discovery client.
The client wraps a local registry and expands through configured endpoint hints and peer statuses. All discovery is bounded by deadline, maximum depth, maximum contacted peers, maximum candidates, and cache TTL.
-
Constructor Summary
ConstructorsConstructorDescriptionBootstrapRegistryClient(org.j7m.middleware.registry.api.RegistryClient local, Clock clock, BootstrapRegistryOptions options) Creates a bootstrap registry.BootstrapRegistryClient(org.j7m.middleware.registry.api.RegistryClient local, Clock clock, BootstrapRegistryOptions options, org.j7m.middleware.registry.api.RegistryRecordVerifier verifier, boolean strictTrust, org.j7m.middleware.security.api.SecurityAuditSink auditSink) Creates a bootstrap registry with explicit received-record trust policy.BootstrapRegistryClient(org.j7m.middleware.registry.api.RegistryClient local, BootstrapRegistryOptions options) Creates a bootstrap registry. -
Method Summary
Modifier and TypeMethodDescriptionintvoidbind(org.j7m.middleware.registry.api.RegistryRecord record) intvoidClears cached lookup/list results.voidclose()intorg.j7m.middleware.registry.api.DiscoveryStatisticsvoidheartbeat(org.j7m.middleware.api.ObjectRef ref, long leaseUntil) List<org.j7m.middleware.registry.api.RegistryRecord> list(org.j7m.middleware.registry.api.RegistryQuery query) Optional<org.j7m.middleware.registry.api.RegistryRecord> lookup(org.j7m.middleware.api.ObjectRef ref) intbooleanList<org.j7m.middleware.registry.api.RegistryPeerStatus> peers(org.j7m.middleware.registry.api.PeerQuery query) List<org.j7m.middleware.registry.api.DiscoveryEvent> voidunbind(org.j7m.middleware.api.ObjectRef ref) voidupdatePeer(org.j7m.middleware.registry.api.RegistryPeerStatus status) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.j7m.middleware.registry.api.RegistryDiagnostics
multicastAdapterType, multicastEndpoint
-
Constructor Details
-
BootstrapRegistryClient
public BootstrapRegistryClient(org.j7m.middleware.registry.api.RegistryClient local, BootstrapRegistryOptions options) Creates a bootstrap registry.- Parameters:
local- local registryoptions- options
-
BootstrapRegistryClient
public BootstrapRegistryClient(org.j7m.middleware.registry.api.RegistryClient local, Clock clock, BootstrapRegistryOptions options) Creates a bootstrap registry.- Parameters:
local- local registryclock- registry clockoptions- options
-
BootstrapRegistryClient
public BootstrapRegistryClient(org.j7m.middleware.registry.api.RegistryClient local, Clock clock, BootstrapRegistryOptions options, org.j7m.middleware.registry.api.RegistryRecordVerifier verifier, boolean strictTrust, org.j7m.middleware.security.api.SecurityAuditSink auditSink) Creates a bootstrap registry with explicit received-record trust policy.- Parameters:
local- local registryclock- registry clockoptions- optionsverifier- record verifierstrictTrust- true to reject invalid or unsigned remote recordsauditSink- optional audit sink for suspicious records
-
-
Method Details
-
bind
public void bind(org.j7m.middleware.registry.api.RegistryRecord record) - Specified by:
bindin interfaceorg.j7m.middleware.registry.api.RegistryClient
-
unbind
public void unbind(org.j7m.middleware.api.ObjectRef ref) - Specified by:
unbindin interfaceorg.j7m.middleware.registry.api.RegistryClient
-
lookup
public Optional<org.j7m.middleware.registry.api.RegistryRecord> lookup(org.j7m.middleware.api.ObjectRef ref) - Specified by:
lookupin interfaceorg.j7m.middleware.registry.api.RegistryClient
-
list
public List<org.j7m.middleware.registry.api.RegistryRecord> list(org.j7m.middleware.registry.api.RegistryQuery query) - Specified by:
listin interfaceorg.j7m.middleware.registry.api.RegistryClient
-
heartbeat
public void heartbeat(org.j7m.middleware.api.ObjectRef ref, long leaseUntil) - Specified by:
heartbeatin interfaceorg.j7m.middleware.registry.api.RegistryClient
-
peers
public List<org.j7m.middleware.registry.api.RegistryPeerStatus> peers(org.j7m.middleware.registry.api.PeerQuery query) - Specified by:
peersin interfaceorg.j7m.middleware.registry.api.RegistryClient
-
updatePeer
public void updatePeer(org.j7m.middleware.registry.api.RegistryPeerStatus status) - Specified by:
updatePeerin interfaceorg.j7m.middleware.registry.api.PeerGraphRegistry
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceorg.j7m.middleware.registry.api.RegistryClient
-
discoveryStatistics
public org.j7m.middleware.registry.api.DiscoveryStatistics discoveryStatistics()- Specified by:
discoveryStatisticsin interfaceorg.j7m.middleware.registry.api.RegistryDiagnostics
-
recentDiscoveryEvents
- Specified by:
recentDiscoveryEventsin interfaceorg.j7m.middleware.registry.api.RegistryDiagnostics
-
activeDiscoveryQuestions
public int activeDiscoveryQuestions()- Specified by:
activeDiscoveryQuestionsin interfaceorg.j7m.middleware.registry.api.RegistryDiagnostics
-
lookupCacheSize
public int lookupCacheSize()- Specified by:
lookupCacheSizein interfaceorg.j7m.middleware.registry.api.RegistryDiagnostics
-
bootstrapHintCount
public int bootstrapHintCount()- Specified by:
bootstrapHintCountin interfaceorg.j7m.middleware.registry.api.RegistryDiagnostics
-
contactedBootstrapPeerCount
public int contactedBootstrapPeerCount()- Specified by:
contactedBootstrapPeerCountin interfaceorg.j7m.middleware.registry.api.RegistryDiagnostics
-
multicastListenerRunning
public boolean multicastListenerRunning()- Specified by:
multicastListenerRunningin interfaceorg.j7m.middleware.registry.api.RegistryDiagnostics
-
clearCache
public void clearCache()Clears cached lookup/list results.
-