public class BroadcastManager
extends java.lang.Object
HB
class and should be accessed there.
Created by ollie on 1/06/2016.
Multiple interface behaviour add by Sam Gillespie on 11/08/2016.Modifier and Type | Class and Description |
---|---|
static interface |
BroadcastManager.OnListener
Call back interface for listening to all interfaces where the specific interface matters
|
static interface |
BroadcastManager.OnTransmitter
Call back interface for sending to all interfaces where the specific interface matters
|
Modifier and Type | Field and Description |
---|---|
protected java.util.List<BroadcastManager.OnListener> |
interfaceListeners |
protected java.util.List<de.sciss.net.OSCListener> |
listeners |
protected java.util.List<java.net.NetworkInterface> |
netInterfaces |
protected java.util.List<de.sciss.net.OSCListener> |
peristentListeners |
protected java.util.List<net.happybrackets.core.BroadcastManager.NetworkInterfacePair<de.sciss.net.OSCReceiver>> |
receivers |
protected java.util.List<net.happybrackets.core.BroadcastManager.NetworkInterfacePair<de.sciss.net.OSCTransmitter>> |
transmitters |
Constructor and Description |
---|
BroadcastManager(java.lang.String address,
int port)
Create a new BroadcastManager.
|
Modifier and Type | Method and Description |
---|---|
void |
addBroadcastListener(de.sciss.net.OSCListener bl)
Add a new
OSCListener . |
void |
addOnMessage(BroadcastManager.OnListener onListener)
Add a new interface aware listener
|
void |
addPersistentBroadcastListener(de.sciss.net.OSCListener bl)
Add Listeners that do not get cleared when HB is reset
|
void |
broadcast(java.lang.String name,
java.lang.Object... args)
Broadcast an
OSCMessage msg over the multicast group. |
void |
clearBroadcastListeners()
Clear all
OSCListener s. |
void |
dispose()
Calls dispose on all receivers (OSCReceiver) and transmitters (OSCTransmitter).
|
void |
forAllTransmitters(BroadcastManager.OnTransmitter onTransmitter)
Execute onTransmitter.cb(NetworkInterface, OSCTransmitter) for all transmitters.
|
static java.net.InetAddress |
getBroadcast(java.net.NetworkInterface ni)
Get the broadcast address for a particular network interface
|
int |
getPort()
Returns the port we are configured for
|
void |
refreshBroadcaster()
Rebuilds this BroadcastManager.
|
void |
removeBroadcastListener(de.sciss.net.OSCListener bl)
Remove the given
OSCListener . |
void |
setDisableSend(boolean disable)
Set to disable sending messages from this broadcaster
|
void |
setThreadSleepTime(int threadSleepTime)
Enable setting of sleep time
|
void |
setWaitForStart(boolean wait)
Cause the BroadcastManager to wait before testing the network ports
We need to set this here so we can do it from pluging, otherwise, tests will faile
|
java.lang.Thread |
startRefreshThread() |
protected java.util.List<net.happybrackets.core.BroadcastManager.NetworkInterfacePair<de.sciss.net.OSCTransmitter>> transmitters
protected java.util.List<net.happybrackets.core.BroadcastManager.NetworkInterfacePair<de.sciss.net.OSCReceiver>> receivers
protected java.util.List<de.sciss.net.OSCListener> listeners
protected java.util.List<de.sciss.net.OSCListener> peristentListeners
protected java.util.List<BroadcastManager.OnListener> interfaceListeners
protected java.util.List<java.net.NetworkInterface> netInterfaces
public BroadcastManager(java.lang.String address, int port)
address
- should be a multicast address.port
- The port we are sending onpublic void setThreadSleepTime(int threadSleepTime)
threadSleepTime
- the amount of time we want our broadcaster to sleeppublic void setDisableSend(boolean disable)
disable
- disable sendingpublic void setWaitForStart(boolean wait)
wait
- set to true if we will wait 5 seconds for a startpublic int getPort()
public java.lang.Thread startRefreshThread()
public void dispose()
public void refreshBroadcaster()
public void broadcast(java.lang.String name, java.lang.Object... args)
OSCMessage
msg over the multicast group.name
- the message string to send.args
- the args to the message.public void forAllTransmitters(BroadcastManager.OnTransmitter onTransmitter)
onTransmitter
- Interface messagepublic void addPersistentBroadcastListener(de.sciss.net.OSCListener bl)
bl
- The broadcast listenerpublic void addBroadcastListener(de.sciss.net.OSCListener bl)
OSCListener
.bl
- the new OSCListener
.public static java.net.InetAddress getBroadcast(java.net.NetworkInterface ni)
ni
- Network Intervace. If we set as NULL, we will use 255.255.255.255public void addOnMessage(BroadcastManager.OnListener onListener)
onListener
- the listenerpublic void removeBroadcastListener(de.sciss.net.OSCListener bl)
OSCListener
.bl
- the OSCListener
to remove.public void clearBroadcastListeners()
OSCListener
s.