Class DefaultSendSystem

All Implemented Interfaces:

public class DefaultSendSystem extends Object implements IAudioSendSystem
The default implementation of the IAudioSendSystem.
This implementation uses a Java thread, named based on: IPacketProvider.getIdentifier() + " Sending Thread".
  • Constructor Details

    • DefaultSendSystem

      public DefaultSendSystem(IPacketProvider packetProvider)
  • Method Details

    • setContextMap

      public void setContextMap(@CheckForNull ConcurrentMap<String,String> contextMap)
      Description copied from interface: IAudioSendSystem
      Called with the internal JDA MDC context map.
      This is guaranteed to be called before IAudioSendSystem.start().
      Specified by:
      setContextMap in interface IAudioSendSystem
      contextMap - The JDA internal MDC context map, or null if disabled
    • start

      public void start()
      Description copied from interface: IAudioSendSystem
      This represents the start of the loop, similar to Thread.start(), and after a call to this method JDA assumes that the instance will be sending UDP audio packets in a loop.

      Note: The packet sending loop should NOT be started on the current thread. I.E: This method should not block forever, in the same way that Thread.start() does not. Just like in Thread, the running action of this system should be implemented asynchronously.

      Specified by:
      start in interface IAudioSendSystem
    • shutdown

      public void shutdown()
      Description copied from interface: IAudioSendSystem
      This represents the destruction of this instance and should be used to perform all necessary cleanup and shutdown operations needed to free resources.

      Note: This method can be called at any time after instance creation (IAudioSendSystem.start() may not yet have been called), and it is possible that this method could be called more than once due to edge-case shutdown conditions.

      Specified by:
      shutdown in interface IAudioSendSystem