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 Details

    • EmbeddedRegistryClient

      public EmbeddedRegistryClient()
      Creates an embedded registry using the system clock.
    • EmbeddedRegistryClient

      public EmbeddedRegistryClient(Clock clock)
      Creates an embedded registry using a supplied clock.
      Parameters:
      clock - registry clock
    • EmbeddedRegistryClient

      public EmbeddedRegistryClient(EmbeddedRegistryStore store, Clock clock)
      Creates an embedded registry client using a shared store and clock.
      Parameters:
      store - shared store
      clock - 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 store
      clock - registry clock
      verifier - record verifier
      strictTrust - true to reject invalid or unsigned records
      auditSink - optional audit sink for suspicious records
  • Method Details

    • bind

      public void bind(org.j7m.middleware.registry.api.RegistryRecord record)
      Specified by:
      bind in interface org.j7m.middleware.registry.api.RegistryClient
    • unbind

      public void unbind(org.j7m.middleware.api.ObjectRef ref)
      Specified by:
      unbind in interface org.j7m.middleware.registry.api.RegistryClient
    • lookup

      public Optional<org.j7m.middleware.registry.api.RegistryRecord> lookup(org.j7m.middleware.api.ObjectRef ref)
      Specified by:
      lookup in interface org.j7m.middleware.registry.api.RegistryClient
    • list

      public List<org.j7m.middleware.registry.api.RegistryRecord> list(org.j7m.middleware.registry.api.RegistryQuery query)
      Specified by:
      list in interface org.j7m.middleware.registry.api.RegistryClient
    • heartbeat

      public void heartbeat(org.j7m.middleware.api.ObjectRef ref, long leaseUntil)
      Specified by:
      heartbeat in interface org.j7m.middleware.registry.api.RegistryClient
    • peers

      public List<org.j7m.middleware.registry.api.RegistryPeerStatus> peers(org.j7m.middleware.registry.api.PeerQuery query)
      Specified by:
      peers in interface org.j7m.middleware.registry.api.RegistryClient
    • updatePeer

      public void updatePeer(org.j7m.middleware.registry.api.RegistryPeerStatus status)
      Specified by:
      updatePeer in interface org.j7m.middleware.registry.api.PeerGraphRegistry
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface org.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:
      discoveryStatistics in interface org.j7m.middleware.registry.api.RegistryDiagnostics
    • recentDiscoveryEvents

      public List<org.j7m.middleware.registry.api.DiscoveryEvent> recentDiscoveryEvents()
      Specified by:
      recentDiscoveryEvents in interface org.j7m.middleware.registry.api.RegistryDiagnostics
    • activeDiscoveryQuestions

      public int activeDiscoveryQuestions()
      Specified by:
      activeDiscoveryQuestions in interface org.j7m.middleware.registry.api.RegistryDiagnostics
    • lookupCacheSize

      public int lookupCacheSize()
      Specified by:
      lookupCacheSize in interface org.j7m.middleware.registry.api.RegistryDiagnostics
    • bootstrapHintCount

      public int bootstrapHintCount()
      Specified by:
      bootstrapHintCount in interface org.j7m.middleware.registry.api.RegistryDiagnostics
    • contactedBootstrapPeerCount

      public int contactedBootstrapPeerCount()
      Specified by:
      contactedBootstrapPeerCount in interface org.j7m.middleware.registry.api.RegistryDiagnostics
    • multicastListenerRunning

      public boolean multicastListenerRunning()
      Specified by:
      multicastListenerRunning in interface org.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 record
      expectedContext - expected registry context
      Returns:
      admitted record with trust metadata