private static long networkPublicationCorrelationId(final NetworkPublication publication) { return LogBufferDescriptor.correlationId(publication.rawLog().metaData()); } }
@Test public void shouldBeAbleToAddSingleSpyThenNetworkPublication() { final long idSpy = driverProxy.addSubscription(spyForChannel(CHANNEL_4000), STREAM_ID_1); driverProxy.addPublication(CHANNEL_4000, STREAM_ID_1); driverConductor.doWork(); final ArgumentCaptor<NetworkPublication> captor = ArgumentCaptor.forClass(NetworkPublication.class); verify(senderProxy, times(1)).newNetworkPublication(captor.capture()); final NetworkPublication publication = captor.getValue(); assertTrue(publication.hasSpies()); final InOrder inOrder = inOrder(mockClientProxy); inOrder.verify(mockClientProxy).onSubscriptionReady(eq(idSpy), anyInt()); inOrder.verify(mockClientProxy).onAvailableImage( eq(networkPublicationCorrelationId(publication)), eq(STREAM_ID_1), eq(publication.sessionId()), anyLong(), anyInt(), eq(publication.rawLog().fileName()), anyString()); }
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); } } }
@Test public void shouldAddSingleSpyThenNetworkPublicationWithSameSessionId() { final int sessionId = -4097; final String sessionIdParam = "|" + CommonContext.SESSION_ID_PARAM_NAME + "=" + sessionId; driverProxy.addSubscription(spyForChannel(CHANNEL_4000 + sessionIdParam), STREAM_ID_1); driverProxy.addPublication(CHANNEL_4000 + sessionIdParam, STREAM_ID_1); driverConductor.doWork(); final ArgumentCaptor<NetworkPublication> captor = ArgumentCaptor.forClass(NetworkPublication.class); verify(senderProxy, times(1)).newNetworkPublication(captor.capture()); final NetworkPublication publication = captor.getValue(); assertTrue(publication.hasSpies()); verify(mockClientProxy).onAvailableImage( eq(networkPublicationCorrelationId(publication)), eq(STREAM_ID_1), eq(publication.sessionId()), anyLong(), anyInt(), eq(publication.rawLog().fileName()), anyString()); }
@Test public void shouldBeAbleToAddNetworkPublicationThenSingleSpy() { driverProxy.addPublication(CHANNEL_4000, STREAM_ID_1); final long idSpy = driverProxy.addSubscription(spyForChannel(CHANNEL_4000), STREAM_ID_1); driverConductor.doWork(); final ArgumentCaptor<NetworkPublication> captor = ArgumentCaptor.forClass(NetworkPublication.class); verify(senderProxy, times(1)).newNetworkPublication(captor.capture()); final NetworkPublication publication = captor.getValue(); assertTrue(publication.hasSpies()); final InOrder inOrder = inOrder(mockClientProxy); inOrder.verify(mockClientProxy).onSubscriptionReady(eq(idSpy), anyInt()); inOrder.verify(mockClientProxy).onAvailableImage( eq(networkPublicationCorrelationId(publication)), eq(STREAM_ID_1), eq(publication.sessionId()), anyLong(), anyInt(), eq(publication.rawLog().fileName()), anyString()); }
@Test public void shouldAddNetworkPublicationThenSingleSpyWithSameSessionId() { final int sessionId = -4097; final String sessionIdParam = "|" + CommonContext.SESSION_ID_PARAM_NAME + "=" + sessionId; driverProxy.addPublication(CHANNEL_4000 + sessionIdParam, STREAM_ID_1); driverProxy.addSubscription(spyForChannel(CHANNEL_4000 + sessionIdParam), STREAM_ID_1); driverConductor.doWork(); final ArgumentCaptor<NetworkPublication> captor = ArgumentCaptor.forClass(NetworkPublication.class); verify(senderProxy, times(1)).newNetworkPublication(captor.capture()); final NetworkPublication publication = captor.getValue(); assertTrue(publication.hasSpies()); verify(mockClientProxy).onAvailableImage( eq(networkPublicationCorrelationId(publication)), eq(STREAM_ID_1), eq(publication.sessionId()), anyLong(), anyInt(), eq(publication.rawLog().fileName()), anyString()); }
registrationId, subscriberPosition.position().id(), publication.rawLog().fileName(), CommonContext.IPC_CHANNEL);
final RawLog rawLog = publication.rawLog(); LogBufferDescriptor.rawTail(rawLog.metaData(), index, LogBufferDescriptor.packTail(termId, 0)); final TermAppender appender = new TermAppender(rawLog.termBuffers()[index], rawLog.metaData(), index);
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 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); } } }
registrationId, subscriberPosition.position().id(), publication.rawLog().fileName(), CommonContext.IPC_CHANNEL);
registrationId, subscriberPosition.position().id(), publication.rawLog().fileName(), CommonContext.IPC_CHANNEL);