Examples of RangeSet


Examples of org.apache.qpid.transport.RangeSet

        sync();
    }

    private RangeSet gatherRangeSet(ConcurrentLinkedQueue<Long> messageTags)
    {
        RangeSet ranges = RangeSetFactory.createRangeSet();
        while (true)
        {
            Long tag = messageTags.poll();
            if (tag == null)
            {
                break;
            }

            ranges.add(tag.intValue());
        }

        return ranges;
    }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

     * @param requeue     always true
     */
    public void rejectMessage(long deliveryTag, boolean requeue)
    {
        // The value of requeue is always true
        RangeSet ranges = RangeSetFactory.createRangeSet();
        ranges.add((int) deliveryTag);
        flushProcessed(ranges, false);
        if (requeue)
        {
            getQpidSession().messageRelease(ranges);
        }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

        dest.setRoutingKey(new AMQShortString(dest.getSubject()));
    }

    protected void acknowledgeImpl()
    {
        RangeSet ranges = gatherRangeSet(getUnacknowledgedMessageTags());

        if(ranges.size() > 0 )
        {
            messageAcknowledge(ranges, true);
            getQpidSession().sync();
        }
    }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

        {
            List<Long> tags = consumer.drainReceiverQueueAndRetrieveDeliveryTags();
            getPrefetchedMessageTags().addAll(tags);
        }

        RangeSet delivered = gatherRangeSet(getUnacknowledgedMessageTags());
    RangeSet prefetched = gatherRangeSet(getPrefetchedMessageTags());
    RangeSet all = RangeSetFactory.createRangeSet(delivered.size()
          + prefetched.size());

    for (Iterator<Range> deliveredIter = delivered.iterator(); deliveredIter.hasNext();)
    {
      Range range = deliveredIter.next();
      all.add(range);
    }

    for (Iterator<Range> prefetchedIter = prefetched.iterator(); prefetchedIter.hasNext();)
    {
      Range range = prefetchedIter.next();
      all.add(range);
    }

    flushProcessed(all, false);
    getQpidSession().messageRelease(delivered,Option.SET_REDELIVERED);
    getQpidSession().messageRelease(prefetched);
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

    }

    @Override
    public void messageAcquire(Session session, MessageAcquire method)
    {
        RangeSet acquiredRanges = ((ServerSession)session).acquire(method.getTransfers());

        Acquired result = new Acquired(acquiredRanges);


        session.executionResult((int) method.getId(), result);
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

        {
            if(delvProps == null || !delvProps.hasDiscardUnroutable() || !delvProps.getDiscardUnroutable())
            {
                if(xfr.getAcceptMode() == MessageAcceptMode.EXPLICIT)
                {
                    RangeSet rejects = new RangeSet();
                    rejects.add(xfr.getId());
                    MessageReject reject = new MessageReject(rejects, MessageRejectCode.UNROUTABLE, "Unroutable");
                    ssn.invoke(reject);
                }
                else
                {
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

     * @throws FailoverException
     */
    public void sendRecover() throws AMQException, FailoverException
    {
        // release all unacked messages
        RangeSet ranges = new RangeSet();
        while (true)
        {
            Long tag = _unacknowledgedMessageTags.poll();
            if (tag == null)
            {
                break;
            }
            ranges.add((int) (long) tag);
        }
        getQpidSession().messageRelease(ranges, Option.SET_REDELIVERED);
        // We need to sync so that we get notify of an error.
        sync();
    }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

     * @param requeue     always true
     */
    public void rejectMessage(long deliveryTag, boolean requeue)
    {
        // The value of requeue is always true
        RangeSet ranges = new RangeSet();
        ranges.add((int) deliveryTag);
        getQpidSession().messageRelease(ranges, Option.SET_REDELIVERED);
        //I don't think we need to sync
    }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

                                      });
    }

    public RangeSet acquire(RangeSet transfers)
    {
        RangeSet acquired = new RangeSet();

        if(!_messageDispositionListenerMap.isEmpty())
        {
            Iterator<Integer> unacceptedMessages = _messageDispositionListenerMap.keySet().iterator();
            Iterator<Range> rangeIter = transfers.iterator();

            if(rangeIter.hasNext())
            {
                Range range = rangeIter.next();

                while(range != null && unacceptedMessages.hasNext())
                {
                    int next = unacceptedMessages.next();
                    while(gt(next, range.getUpper()))
                    {
                        if(rangeIter.hasNext())
                        {
                            range = rangeIter.next();
                        }
                        else
                        {
                            range = null;
                            break;
                        }
                    }
                    if(range != null && range.includes(next))
                    {
                        MessageDispositionChangeListener changeListener = _messageDispositionListenerMap.get(next);
                        if(changeListener != null && changeListener.acquire())
                        {
                            acquired.add(next);
                        }
                    }


                }
View Full Code Here

Examples of org.apache.qpid.transport.RangeSet

            {
                if(delvProps == null || !delvProps.hasDiscardUnroutable() || !delvProps.getDiscardUnroutable())
                {
                    if(xfr.getAcceptMode() == MessageAcceptMode.EXPLICIT)
                    {
                        RangeSet rejects = new RangeSet();
                        rejects.add(xfr.getId());
                        MessageReject reject = new MessageReject(rejects, MessageRejectCode.UNROUTABLE, "Unroutable");
                        ssn.invoke(reject);
                    }
                    else
                    {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.