Package co.paralleluniverse.galaxy.core

Examples of co.paralleluniverse.galaxy.core.Message


//                not(packetThatContains(m4))))), eq(node2Address));
    }

    @Test
    public void whenSendRequestThenResendUntilResponse() throws Exception {
        final Message m = Message.INV(sh(2), id(1234L), sh(10));
        comm.send(m);
        sleep(100);
        await();
        verify(channel, atLeast(3)).write(argThat(equalTo(packet(m))), eq(node2Address));
    }
View Full Code Here


        verify(receiver, never()).receive(argThat(equalTo(Message.TIMEOUT(m))));
    }

    @Test
    public void whenSendRespondThenSendOnlyOnce() throws Exception {
        final Message m = Message.INVACK(Message.INV(sh(2), id(1234L), sh(10))).setMessageId(10001);
        comm.send(m);
        sleep(100);
        await();
        verify(channel, times(1)).write(argThat(is(packetThatContains(m))), eq(node2Address));
    }
View Full Code Here

        numBuffers += 1 + message.getNumDataBuffers();
    }

    public boolean removeMessage(Message m) {
        int index = messages.indexOf(m);
        Message message = messages.get(index); // m != message. often m will be the response to message
        if (index >= 0) {
            messages.remove(index);
            messageRemoved(message);
            return true;
        } else
View Full Code Here

            return false;
    }

    public boolean removeMessage(long id) {
        for (Iterator<Message> it = messages.iterator(); it.hasNext();) {
            final Message message = it.next();
            if (message.getMessageId() != id)
                continue;

            it.remove();
            messageRemoved(message);
            return true;
View Full Code Here

    public Message getMessage(Message m) {
        int index = messages.indexOf(m);
        if (index < 0)
            return null;
        Message message = messages.get(index); // m != message. often m will be the response to message
        return message;
    }
View Full Code Here

        return messages.contains(m);
    }

    public boolean contains(long id) {
        for (Iterator<Message> it = messages.iterator(); it.hasNext();) {
            final Message message = it.next();
            if (message.getMessageId() != id)
                continue;

            return true;
        }
        return false;
View Full Code Here

    public void fromByteBuffer(ByteBuffer buffer) {
        while (buffer.hasRemaining()) {
            if (LOG.isDebugEnabled())
                LOG.debug("decoding. remaining " + buffer.remaining());
            final Message fromByteBuffer = Message.fromByteBuffer(buffer);
            if (LOG.isDebugEnabled())
                LOG.debug("decoded " + fromByteBuffer);
            addMessage(fromByteBuffer);
        }
    }
View Full Code Here

*/
@ChannelHandler.Sharable
public class MessageCodec extends OneToOneCodec {
    @Override
    protected Object encode(ChannelHandlerContext ctx, Channel channel, Object msg) throws Exception {
        final Message message = (Message) msg;
        final ByteBuffer[] buffers = message.toByteBuffers();
        return ChannelBuffers.wrappedBuffer(buffers);
    }
View Full Code Here

    }

    @Override
    protected Object decode(ChannelHandlerContext ctx, Channel channel, Object msg) throws Exception {
        final ChannelBuffer buffer = (ChannelBuffer) msg;
        final Message message = Message.fromByteBuffer(buffer.toByteBuffer());
        return message;
    }
View Full Code Here

            public void run() {
                final long now = System.nanoTime();

                if (pendingBroadcasts != null) {
                    for (BroadcastEntry entry : pendingBroadcasts.values()) {
                        final Message message = entry.message;
                        if (message.getType() != Message.Type.INVACK && now - message.getTimestamp() > timeoutNano) {
                            if (pendingBroadcasts.remove(message.getMessageId()) != null) {
                                LOG.debug("Timeout on message {}", message);
                                receive(Message.TIMEOUT((LineMessage) message).setIncoming());
                            }
                        }
                    }
                }
                for (Deque<Message> pending : pendingReply.values()) {
                    for (Message message : reverse(pending)) {
                        if (message.getType() != Message.Type.INVACK && now - message.getTimestamp() > timeoutNano) {
                            if (pending.removeLastOccurrence(message)) {// we're using this instead of iterators to safeguard against the case that a reply just arrives
                                LOG.debug("Timeout on message {}", message);
                                receive(Message.TIMEOUT((LineMessage) message).setIncoming());
                            }
                        } else
View Full Code Here

TOP

Related Classes of co.paralleluniverse.galaxy.core.Message

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.