Class UdpMulticastBus

java.lang.Object
org.j7m.middleware.registry.mcast.UdpMulticastBus
All Implemented Interfaces:
AutoCloseable, MulticastBus

public final class UdpMulticastBus extends Object implements MulticastBus
UDP multicast adapter for registry discovery.

The adapter opens an OS multicast socket per attached registry client, joins the configured group on start, receives packets on a virtual thread, and leaves the group on shutdown. Discovery calls are bounded by caller deadlines. UDP and codec failures are recorded in diagnostics and wrapped in middleware exceptions where startup cannot proceed.

  • Constructor Details

    • UdpMulticastBus

      public UdpMulticastBus()
      Creates a UDP multicast adapter.
  • Method Details

    • register

      public void register(MulticastRegistryClient client)
      Starts delivery for one registry client.
      Specified by:
      register in interface MulticastBus
      Parameters:
      client - client to attach
    • unregister

      public void unregister(MulticastRegistryClient client)
      Stops delivery for one registry client.
      Specified by:
      unregister in interface MulticastBus
      Parameters:
      client - client to detach
    • list

      public 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.
      Specified by:
      list in interface MulticastBus
      Parameters:
      client - requesting client
      envelope - question envelope
      query - query payload
      deadlineMillis - absolute deadline
      Returns:
      immutable response records
    • diagnostics

      public MulticastBusDiagnostics diagnostics()
      Returns adapter diagnostics.
      Specified by:
      diagnostics in interface MulticastBus
      Returns:
      diagnostics snapshot
    • adapterType

      public String adapterType()
      Returns the adapter type.
      Specified by:
      adapterType in interface MulticastBus
      Returns:
      adapter type
    • endpointSummary

      public String endpointSummary()
      Returns a safe endpoint summary.
      Specified by:
      endpointSummary in interface MulticastBus
      Returns:
      endpoint summary
    • close

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