/** * Called from the {@link Sender} to add information to the control packet dispatcher. * * @param publication to add to the dispatcher */ public void registerForSend(final NetworkPublication publication) { publicationBySessionAndStreamId.put(publication.sessionId(), publication.streamId(), publication); }
/** * Called from the {@link Sender} to remove information from the control packet dispatcher. * * @param publication to remove */ public void unregisterForSend(final NetworkPublication publication) { publicationBySessionAndStreamId.remove(publication.sessionId(), publication.streamId()); }
private static NetworkPublication findPublication( final ArrayList<NetworkPublication> publications, final int streamId, final SendChannelEndpoint channelEndpoint) { for (int i = 0, size = publications.size(); i < size; i++) { final NetworkPublication publication = publications.get(i); if (streamId == publication.streamId() && channelEndpoint == publication.channelEndpoint() && NetworkPublication.State.ACTIVE == publication.state() && !publication.isExclusive()) { return publication; } } return null; }
void cleanupSpies(final NetworkPublication publication) { for (int i = 0, size = subscriptionLinks.size(); i < size; i++) { final SubscriptionLink link = subscriptionLinks.get(i); if (link.isLinked(publication)) { clientProxy.onUnavailableImage( publication.registrationId(), link.registrationId(), publication.streamId(), publication.channel()); subscriptionLinks.get(i).unlink(publication); } } }
@Advice.OnMethodEnter static void cleanupPublication(final NetworkPublication publication) { LOGGER.logPublicationRemoval(publication.channel(), publication.sessionId(), publication.streamId()); } }
public boolean matches(final NetworkPublication publication) { return streamId == publication.streamId() && udpChannel.canonicalForm().equals(publication.channelEndpoint().udpChannel().canonicalForm()) && isWildcardOrSessionIdMatch(publication.sessionId()); } }
@Test public void shouldBeAbleToAddSinglePublication() { driverProxy.addPublication(CHANNEL_4000, STREAM_ID_1); driverConductor.doWork(); verify(senderProxy).registerSendChannelEndpoint(any()); final ArgumentCaptor<NetworkPublication> captor = ArgumentCaptor.forClass(NetworkPublication.class); verify(senderProxy, times(1)).newNetworkPublication(captor.capture()); final NetworkPublication publication = captor.getValue(); assertThat(publication.streamId(), is(STREAM_ID_1)); verify(mockClientProxy).onPublicationReady( anyLong(), anyLong(), eq(STREAM_ID_1), anyInt(), any(), anyInt(), anyInt(), eq(false)); }
@Before public void setup() { when(mockSystemCounters.get(any())).thenReturn(mockStatusMessagesReceivedCounter); when(mockPublication.streamId()).thenReturn(STREAM_ID); when(mockPublication.sessionId()).thenReturn(SESSION_ID); context.systemCounters(mockSystemCounters); context.receiveChannelEndpointThreadLocals(new ReceiveChannelEndpointThreadLocals(context)); }
private void linkSpies(final ArrayList<SubscriptionLink> links, final NetworkPublication publication) { for (int i = 0, size = links.size(); i < size; i++) { final SubscriptionLink subscription = links.get(i); if (subscription.matches(publication) && !subscription.isLinked(publication)) { final Position subPos = linkSpy(publication, subscription); clientProxy.onAvailableImage( publication.registrationId(), publication.streamId(), publication.sessionId(), subscription.registrationId(), subPos.id(), publication.rawLog().fileName(), CommonContext.IPC_CHANNEL); } } }
private Position linkSpy(final NetworkPublication publication, final SubscriptionLink subscription) { final long joinPosition = publication.consumerPosition(); final long subscriberRegistrationId = subscription.registrationId(); final int streamId = publication.streamId(); final int sessionId = publication.sessionId(); final String channel = subscription.channel(); final Position position = SubscriberPos.allocate( tempBuffer, countersManager, subscriberRegistrationId, sessionId, streamId, channel, joinPosition); position.setOrdered(joinPosition); publication.addSubscriber(position); subscription.link(publication, position); return position; }
assertThat(publication.streamId(), is(STREAM_ID_1)); assertThat(publication.mtuLength(), is(mtu));
/** * Called from the {@link Sender} to add information to the control packet dispatcher. * * @param publication to add to the dispatcher */ public void registerForSend(final NetworkPublication publication) { publicationBySessionAndStreamId.put(publication.sessionId(), publication.streamId(), publication); }
/** * Called from the {@link Sender} to remove information from the control packet dispatcher. * * @param publication to remove */ public void unregisterForSend(final NetworkPublication publication) { publicationBySessionAndStreamId.remove(publication.sessionId(), publication.streamId()); }
/** * Called from the {@link Sender} to add information to the control packet dispatcher. * * @param publication to add to the dispatcher */ public void registerForSend(final NetworkPublication publication) { publicationBySessionAndStreamId.put(publication.sessionId(), publication.streamId(), publication); }
/** * Called from the {@link Sender} to remove information from the control packet dispatcher. * * @param publication to remove */ public void unregisterForSend(final NetworkPublication publication) { publicationBySessionAndStreamId.remove(publication.sessionId(), publication.streamId()); }
@Advice.OnMethodEnter static void cleanupPublication(final NetworkPublication publication) { LOGGER.logPublicationRemoval(publication.channel(), publication.sessionId(), publication.streamId()); } }
void cleanupSpies(final NetworkPublication publication) { for (int i = 0, size = subscriptionLinks.size(); i < size; i++) { final SubscriptionLink link = subscriptionLinks.get(i); if (link.isLinked(publication)) { clientProxy.onUnavailableImage( publication.registrationId(), link.registrationId(), publication.streamId(), publication.channel()); subscriptionLinks.get(i).unlink(publication); } } }
void cleanupSpies(final NetworkPublication publication) { for (int i = 0, size = subscriptionLinks.size(); i < size; i++) { final SubscriptionLink link = subscriptionLinks.get(i); if (link.isLinked(publication)) { clientProxy.onUnavailableImage( publication.registrationId(), link.registrationId(), publication.streamId(), publication.channel()); subscriptionLinks.get(i).unlink(publication); } } }
public boolean matches(final NetworkPublication publication) { return streamId == publication.streamId() && isWildcardOrSessionIdMatch(publication.sessionId()) && udpChannel.canonicalForm().equals(publication.channelEndpoint().udpChannel().canonicalForm()); } }
public boolean matches(final NetworkPublication publication) { return streamId == publication.streamId() && isWildcardOrSessionIdMatch(publication.sessionId()) && udpChannel.canonicalForm().equals(publication.channelEndpoint().udpChannel().canonicalForm()); } }