Class EmbeddedRegistryClient
java.lang.Object
org.j7m.middleware.registry.embedded.EmbeddedRegistryClient
- 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 EmbeddedRegistryClient
extends Object
implements org.j7m.middleware.registry.api.RegistryClient, org.j7m.middleware.registry.api.PeerGraphRegistry, org.j7m.middleware.registry.api.RegistryDiagnostics
Thread-safe in-memory registry implementation for Phase 1.
The client stores immutable records in a concurrent map and filters
expired or inactive records on every lookup/list operation. It owns no
background thread; tests can use a custom Clock for deterministic
expiration behavior.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates an embedded registry using the system clock.EmbeddedRegistryClient(Clock clock) Creates an embedded registry using a supplied clock.EmbeddedRegistryClient(EmbeddedRegistryStore store, Clock clock) Creates an embedded registry client using a shared store and clock.EmbeddedRegistryClient(EmbeddedRegistryStore store, Clock clock, org.j7m.middleware.registry.api.RegistryRecordVerifier verifier, boolean strictTrust, org.j7m.middleware.security.api.SecurityAuditSink auditSink) Creates an embedded registry with optional record trust enforcement. -
Method Summary
Modifier and TypeMethodDescriptionintintReturns the number of active records at the registry clock's current time.org.j7m.middleware.registry.api.RegistryRecordadmitReceivedRecord(org.j7m.middleware.registry.api.RegistryRecord record, String expectedContext) Applies this registry's trust policy to a record received through an external discovery boundary.voidbind(org.j7m.middleware.registry.api.RegistryRecord record) intvoidclose()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
-
EmbeddedRegistryClient
public EmbeddedRegistryClient()Creates an embedded registry using the system clock. -
EmbeddedRegistryClient
Creates an embedded registry using a supplied clock.- Parameters:
clock- registry clock
-
EmbeddedRegistryClient
Creates an embedded registry client using a shared store and clock.- Parameters:
store- shared storeclock- registry clock
-
EmbeddedRegistryClient
public EmbeddedRegistryClient(EmbeddedRegistryStore store, Clock clock, org.j7m.middleware.registry.api.RegistryRecordVerifier verifier, boolean strictTrust, org.j7m.middleware.security.api.SecurityAuditSink auditSink) Creates an embedded registry with optional record trust enforcement.- Parameters:
store- shared storeclock- registry clockverifier- record verifierstrictTrust- true to reject invalid or unsigned 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
-
activeRecordCount
public int activeRecordCount()Returns the number of active records at the registry clock's current time.- Returns:
- active record count
-
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
-
admitReceivedRecord
public org.j7m.middleware.registry.api.RegistryRecord admitReceivedRecord(org.j7m.middleware.registry.api.RegistryRecord record, String expectedContext) Applies this registry's trust policy to a record received through an external discovery boundary.- Parameters:
record- received recordexpectedContext- expected registry context- Returns:
- admitted record with trust metadata
-