Interface MulticastBus

All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
InMemoryMulticastBus, MulticastRegistryBus, UdpMulticastBus

public interface MulticastBus extends AutoCloseable
Internal multicast transport adapter for registry discovery.

Implementations own their network or in-memory delivery resources. Methods are thread-safe. list(MulticastRegistryClient, MulticastMessageEnvelope, RegistryQuery, long) must respect the supplied absolute deadline and return an immutable snapshot of records collected before the deadline. Implementations must map transport failures to diagnostics and either return partial results or throw a middleware exception.

  • Method Details

    • register

      void register(MulticastRegistryClient client)
      Starts delivery for one registry client.
      Parameters:
      client - client to attach
    • unregister

      void unregister(MulticastRegistryClient client)
      Stops delivery for one registry client.
      Parameters:
      client - client to detach
    • list

      List<org.j7m.middleware.registry.api.RegistryRecord> list(MulticastRegistryClient client, MulticastMessageEnvelope envelope, org.j7m.middleware.registry.api.RegistryQuery query, long deadlineMillis)
      Sends a list question and collects responses.
      Parameters:
      client - requesting client
      envelope - question envelope
      query - query payload
      deadlineMillis - absolute deadline
      Returns:
      immutable response records
    • diagnostics

      Returns adapter diagnostics.
      Returns:
      diagnostics snapshot
    • adapterType

      String adapterType()
      Returns the adapter type.
      Returns:
      adapter type
    • endpointSummary

      String endpointSummary()
      Returns a safe endpoint summary.
      Returns:
      endpoint summary
    • close

      void close()
      Closes all owned resources.
      Specified by:
      close in interface AutoCloseable