Home - Clearpool/Panda GitHub Wiki
Panda Messaging Spec
What is it
A reliable multicast protocol
Specification
Multicast Message Framing
Sequence Number Management
Heartbeats
Example: Send messages
public class PandaSendExample
{
public static void main(String[] args) throws Exception
{
PandaAdapter adapter = new PandaAdapter(0);
InetAddress interfaceIp = InetAddress.getByName(InetAddress.getLocalHost().getHostAddress());
int count = 0;
while (true)
{
String message = "Hello World - " + ++count;
adapter.send("Hello World", "239.10.4.1", 5001, null, interfaceIp, message.getBytes());
Thread.sleep(2000);
}
}
}
Example: Receive messages
public class PandaReceiveExample implements PandaDataListener
{
@Override
public void receivedPandaData(String topic, byte[] payload)
{
StringBuilder builder = new StringBuilder();
builder.append(new Date());
builder.append("|topic=");
builder.append(topic);
builder.append("|payloadLength=");
builder.append(payload.length);
builder.append("|payloadString=");
builder.append(new String(payload));
System.out.println(builder.toString());
}
@Override
public void receivedPandaError(PandaErrorCode issueCode, String multicastGroup, String message, Throwable throwable)
{
System.out.println(issueCode + "|" + multicastGroup + "|" + message);
}
public static void main(String[] args) throws Exception
{
PandaAdapter adapter = new PandaAdapter(0);
InetAddress interfaceIp = InetAddress.getByName(InetAddress.getLocalHost().getHostAddress());
adapter.subscribe("Hello World", "239.10.4.1", 5001, null, interfaceIp, new PandaReceiveExample(), 100000, true);
}
}