示例#1
0
 /// <param name="playerManager"> Audio player manager </param>
 public RemoteNodeManager(DefaultAudioPlayerManager playerManager)
 {
     this.playerManager         = playerManager;
     this.httpInterfaceManager  = RemoteNodeProcessor.createHttpInterfaceManager();
     this.processors            = new List <RemoteNodeProcessor>();
     this.abandonedTrackManager = new AbandonedTrackManager();
     this.enabled          = new AtomicBoolean();
     this.@lock            = new object();
     this.activeProcessors = new List <RemoteNodeProcessor>();
 }
示例#2
0
 /// <param name="playerManager"> Audio player manager </param>
 /// <param name="nodeAddress"> Address of this node </param>
 /// <param name="scheduledExecutor"> Scheduler to use to schedule reconnects </param>
 /// <param name="httpInterfaceManager"> HTTP interface manager to use for communicating with node </param>
 /// <param name="abandonedTrackManager"> Abandoned track manager, where the playing tracks are sent if node goes offline </param>
 public RemoteNodeProcessor(DefaultAudioPlayerManager playerManager, string nodeAddress, java.util.concurrent.ScheduledThreadPoolExecutor scheduledExecutor, HttpInterfaceManager httpInterfaceManager, AbandonedTrackManager abandonedTrackManager)
 {
     this.playerManager         = playerManager;
     this.nodeAddress           = nodeAddress;
     this.scheduledExecutor     = scheduledExecutor;
     this.httpInterfaceManager  = httpInterfaceManager;
     this.abandonedTrackManager = abandonedTrackManager;
     queuedMessages             = new LinkedBlockingQueue <>();
     playingTracks   = new ConcurrentHashMap <>();
     mapper          = new RemoteMessageMapper();
     threadRunning   = new AtomicBoolean();
     connectionState = new AtomicInteger(ConnectionState.OFFLINE.id());
     tickHistory     = new LinkedList <>(NODE_REQUEST_HISTORY);
     closed          = false;
 }