public boolean matches(final PublicationImage image) { return image.channelEndpoint() == this.channelEndpoint && image.streamId() == this.streamId && isWildcardOrSessionIdMatch(image.sessionId()); }
void transitionToLinger(final PublicationImage image) { for (int i = 0, size = subscriptionLinks.size(); i < size; i++) { final SubscriptionLink link = subscriptionLinks.get(i); if (link.isLinked(image)) { clientProxy.onUnavailableImage( image.correlationId(), link.registrationId(), image.streamId(), image.channel()); } } receiverProxy.removeCoolDown(image.channelEndpoint(), image.sessionId(), image.streamId()); }
public void onRemoveDestination( final ReceiveChannelEndpoint channelEndpoint, final UdpChannel udpChannel) { final int transportIndex = channelEndpoint.destination(udpChannel); if (ArrayUtil.UNKNOWN_INDEX != transportIndex) { final ReceiveDestinationUdpTransport transport = channelEndpoint.destination(transportIndex); dataTransportPoller.cancelRead(channelEndpoint, transport); channelEndpoint.removeDestination(transportIndex); CloseHelper.close(transport); dataTransportPoller.selectNowWithoutProcessing(); for (final PublicationImage image : publicationImages) { if (channelEndpoint == image.channelEndpoint()) { image.removeDestination(transportIndex); } } } }
public void onAddDestination( final ReceiveChannelEndpoint channelEndpoint, final ReceiveDestinationUdpTransport transport) { transport.openChannel(); final int transportIndex = channelEndpoint.addDestination(transport); final SelectionKey key = dataTransportPoller.registerForRead(channelEndpoint, transport, transportIndex); transport.selectionKey(key); if (transport.hasExplicitControl()) { addPendingSetupMessage( 0, 0, transportIndex, channelEndpoint, true, transport.explicitControlAddress()); channelEndpoint.sendSetupElicitingStatusMessage( transportIndex, transport.explicitControlAddress(), 0, 0); } for (final PublicationImage image : publicationImages) { if (channelEndpoint == image.channelEndpoint()) { image.addDestination(transportIndex, transport); } } }
public boolean matches(final PublicationImage image) { return image.channelEndpoint() == this.channelEndpoint && image.streamId() == this.streamId && isWildcardOrSessionIdMatch(image.sessionId()); }
public boolean matches(final PublicationImage image) { return image.channelEndpoint() == this.channelEndpoint && image.streamId() == this.streamId && isWildcardOrSessionIdMatch(image.sessionId()); }
void transitionToLinger(final PublicationImage image) { for (int i = 0, size = subscriptionLinks.size(); i < size; i++) { final SubscriptionLink link = subscriptionLinks.get(i); if (link.isLinked(image)) { clientProxy.onUnavailableImage( image.correlationId(), link.registrationId(), image.streamId(), image.channel()); } } receiverProxy.removeCoolDown(image.channelEndpoint(), image.sessionId(), image.streamId()); }
void transitionToLinger(final PublicationImage image) { for (int i = 0, size = subscriptionLinks.size(); i < size; i++) { final SubscriptionLink link = subscriptionLinks.get(i); if (link.isLinked(image)) { clientProxy.onUnavailableImage( image.correlationId(), link.registrationId(), image.streamId(), image.channel()); } } receiverProxy.removeCoolDown(image.channelEndpoint(), image.sessionId(), image.streamId()); }
public void onRemoveDestination( final ReceiveChannelEndpoint channelEndpoint, final UdpChannel udpChannel) { final int transportIndex = channelEndpoint.destination(udpChannel); if (ArrayUtil.UNKNOWN_INDEX != transportIndex) { final ReceiveDestinationUdpTransport transport = channelEndpoint.destination(transportIndex); dataTransportPoller.cancelRead(channelEndpoint, transport); channelEndpoint.removeDestination(transportIndex); CloseHelper.close(transport); dataTransportPoller.selectNowWithoutProcessing(); for (final PublicationImage image : publicationImages) { if (channelEndpoint == image.channelEndpoint()) { image.removeDestination(transportIndex); } } } }
public void onRemoveDestination( final ReceiveChannelEndpoint channelEndpoint, final UdpChannel udpChannel) { final int transportIndex = channelEndpoint.destination(udpChannel); if (ArrayUtil.UNKNOWN_INDEX != transportIndex) { final ReceiveDestinationUdpTransport transport = channelEndpoint.destination(transportIndex); dataTransportPoller.cancelRead(channelEndpoint, transport); channelEndpoint.removeDestination(transportIndex); CloseHelper.close(transport); dataTransportPoller.selectNowWithoutProcessing(); for (final PublicationImage image : publicationImages) { if (channelEndpoint == image.channelEndpoint()) { image.removeDestination(transportIndex); } } } }
public void onAddDestination( final ReceiveChannelEndpoint channelEndpoint, final ReceiveDestinationUdpTransport transport) { transport.openChannel(); final int transportIndex = channelEndpoint.addDestination(transport); final SelectionKey key = dataTransportPoller.registerForRead(channelEndpoint, transport, transportIndex); transport.selectionKey(key); if (transport.hasExplicitControl()) { addPendingSetupMessage( 0, 0, transportIndex, channelEndpoint, true, transport.explicitControlAddress()); channelEndpoint.sendSetupElicitingStatusMessage( transportIndex, transport.explicitControlAddress(), 0, 0); } for (final PublicationImage image : publicationImages) { if (channelEndpoint == image.channelEndpoint()) { image.addDestination(transportIndex, transport); } } }
public void onAddDestination( final ReceiveChannelEndpoint channelEndpoint, final ReceiveDestinationUdpTransport transport) { transport.openChannel(); final int transportIndex = channelEndpoint.addDestination(transport); final SelectionKey key = dataTransportPoller.registerForRead(channelEndpoint, transport, transportIndex); transport.selectionKey(key); if (transport.hasExplicitControl()) { addPendingSetupMessage( 0, 0, transportIndex, channelEndpoint, true, transport.explicitControlAddress()); channelEndpoint.sendSetupElicitingStatusMessage( transportIndex, transport.explicitControlAddress(), 0, 0); } for (final PublicationImage image : publicationImages) { if (channelEndpoint == image.channelEndpoint()) { image.addDestination(transportIndex, transport); } } }