public int doWork()
    {
        final long nowNs = nanoClock.nanoTime();
        trackTime(nowNs);

        int workCount = 0;
        workCount += processTimers(nowNs);
        if (!asyncClientCommandInFlight)
        {
            workCount += clientCommandAdapter.receive();
        }
        workCount += drainCommandQueue();
        workCount += trackStreamPositions(workCount, nowNs);
        workCount += nameResolver.doWork(cachedEpochClock.time());
        workCount += freeEndOfLifeResources(ctx.resourceFreeLimit());

        return workCount;
    }
@Test
    void shouldErrorWhenOriginalPublicationHasNoDistinguishingCharacteristicBeyondTag()
    {
        final String expectedMessage =
            "URI must have explicit control, endpoint, or be manual control-mode when original:";

        driverProxy.addPublication("aeron:udp?tags=1001", STREAM_ID_1);
        driverConductor.doWork();

        verify(mockErrorHandler).onError(argThat(
            (ex) ->
            {
                assertThat(ex, instanceOf(InvalidChannelException.class));
                assertThat(ex.getMessage(), containsString(expectedMessage));
                return true;
            }));
    }