Search in sources :

Example 76 with Message

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) {
        }
    }
}
Also used : Message(org.jgroups.Message)

Example 77 with Message

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();
}
Also used : Message(org.jgroups.Message)

Example 78 with Message

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);
}
Also used : Message(org.jgroups.Message)

Example 79 with Message

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;
}
Also used : ObjectMessage(org.jgroups.ObjectMessage) Message(org.jgroups.Message) ObjectMessage(org.jgroups.ObjectMessage)

Example 80 with Message

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");
    }
}
Also used : ObjectMessage(org.jgroups.ObjectMessage) Message(org.jgroups.Message) ObjectMessage(org.jgroups.ObjectMessage)

Aggregations

Message (org.jgroups.Message)246 Address (org.jgroups.Address)50 MessageBatch (org.jgroups.util.MessageBatch)37 BytesMessage (org.jgroups.BytesMessage)31 NioMessage (org.jgroups.NioMessage)14 ObjectMessage (org.jgroups.ObjectMessage)14 EmptyMessage (org.jgroups.EmptyMessage)12 Test (org.testng.annotations.Test)12 Event (org.jgroups.Event)11 ToaHeader (org.jgroups.protocols.tom.ToaHeader)11 Test (org.junit.Test)11 IOException (java.io.IOException)8 JChannel (org.jgroups.JChannel)8 MessageID (org.jgroups.protocols.tom.MessageID)8 DistributionMessage (org.apache.geode.distributed.internal.DistributionMessage)7 JoinRequestMessage (org.apache.geode.distributed.internal.membership.gms.messages.JoinRequestMessage)7 JoinResponseMessage (org.apache.geode.distributed.internal.membership.gms.messages.JoinResponseMessage)7 TimeoutException (java.util.concurrent.TimeoutException)6 Collectors (java.util.stream.Collectors)6 MembershipTest (org.apache.geode.test.junit.categories.MembershipTest)6