use of org.jgroups.Message in project JGroups by belaban.
the class TransferQueueBundler method run.
public void run() {
while (running) {
Message msg = null;
try {
if ((msg = queue.take()) == null)
continue;
addAndSendIfSizeExceeded(msg);
while (true) {
remove_queue.clear();
int num_msgs = queue.drainTo(remove_queue);
if (num_msgs <= 0)
break;
for (int i = 0; i < remove_queue.size(); i++) {
msg = remove_queue.get(i);
addAndSendIfSizeExceeded(msg);
}
}
if (count > 0) {
num_sends_because_no_msgs++;
avg_fill_count.add(count);
sendBundledMessages();
}
} catch (Throwable t) {
}
}
}
use of org.jgroups.Message in project JGroups by belaban.
the class TransferQueueBundler method drain.
/**
* Takes all messages from the queue, adds them to the hashmap and then sends all bundled messages
*/
protected void drain() {
Message msg;
if (queue != null) {
while ((msg = queue.poll()) != null) addAndSendIfSizeExceeded(msg);
}
sendBundledMessages();
}
use of org.jgroups.Message in project JGroups by belaban.
the class SNIFF method up.
public void up(MessageBatch batch) {
int count = 1;
for (Message msg : batch) dump("batch msg#" + count++, msg);
up_prot.up(batch);
}
use of org.jgroups.Message in project JGroups by belaban.
the class ObjectMessageTest method testSetObject.
public void testSetObject() {
Message msg = new ObjectMessage(null, new Person(53, "Bela"));
assert msg.getObject() != null;
msg.setObject(new Person(15, "Nicole"));
Person p = msg.getObject();
assert p.age == 15 && p.name.equals("Nicole");
msg.setObject(null);
assert msg.getObject() == null;
}
use of org.jgroups.Message in project JGroups by belaban.
the class ObjectMessageTest method testMarshalling.
public void testMarshalling() throws Exception {
Object[] objects = { null, int.class, Boolean.class, byte[].class, Person.class, "hello".getBytes(), (short) 50, 50, 50L, 3.2345F, 3.1234, "hello world", "B\u00e9la B\u00060n" };
for (Object obj : objects) {
Message msg = new ObjectMessage(null, obj);
_testSize(msg);
byte[] buf = marshal(msg);
Message msg2 = unmarshal(ObjectMessage.class, buf);
Object tmp = msg2.getObject();
if (tmp instanceof byte[] && obj instanceof byte[])
assert Arrays.equals((byte[]) tmp, (byte[]) obj);
else
assert Objects.equals(tmp, obj) : String.format("%s (%s) != %s (%s)", tmp, tmp != null ? tmp.getClass() : "null", obj, obj != null ? obj.getClass() : "null");
}
}
Aggregations