aeron-driver/src/main/java/io/aeron/driver/PublicationImage.java
public void removeSubscriber(final SubscriptionLink subscriptionLink, final ReadablePosition subscriberPosition)
    {
        subscriberPositions = ArrayUtil.remove(subscriberPositions, subscriberPosition);
        subscriberPosition.close();

        if (!subscriptionLink.isTether())
        {
            for (int lastIndex = untetheredSubscriptions.size() - 1, i = lastIndex; i >= 0; i--)
            {
                if (untetheredSubscriptions.get(i).subscriptionLink == subscriptionLink)
                {
                    ArrayListUtil.fastUnorderedRemove(untetheredSubscriptions, i, lastIndex);
                    break;
                }
            }
        }
    }
public void removeSubscriber(final SubscriptionLink subscriptionLink, final ReadablePosition subscriberPosition)
    {
        subscriberPositions = ArrayUtil.remove(subscriberPositions, subscriberPosition);
        subscriberPosition.close();

        if (!subscriptionLink.isTether())
        {
            for (int lastIndex = untetheredSubscriptions.size() - 1, i = lastIndex; i >= 0; i--)
            {
                if (untetheredSubscriptions.get(i).subscriptionLink == subscriptionLink)
                {
                    ArrayListUtil.fastUnorderedRemove(untetheredSubscriptions, i, lastIndex);
                    break;
                }
            }
        }
    }
public void removeSubscriber ( final SubscriptionLink subscriptionLink , final ReadablePosition subscriberPosition ) { subscriberPositions = ArrayUtil . remove ( subscriberPositions , subscriberPosition ) ; subscriberPosition . close ( ) ; if ( ! subscriptionLink . isTether ( ) ) { for ( int lastIndex = untetheredSubscriptions . size ( ) - 1 , i = lastIndex ; i >= 0 ; i -- ) { if ( untetheredSubscriptions . get ( i ) . subscriptionLink == subscriptionLink ) { ArrayListUtil . fastUnorderedRemove ( untetheredSubscriptions , i , lastIndex ) ; break ; } } } }
{@inheritDoc}
{