/** Calls dispatch on the component's Reactor, and will store received events for later review. * The test will verify that the exact number of events is received, and will fail if fewer * or more are received. * @param expectedEventCount The exact number of events that should be received. */ public void dispatch(int expectedEventCount) { long timeoutMsec; if (expectedEventCount > 0) timeoutMsec = 1000; else timeoutMsec = 200; dispatch(expectedEventCount, timeoutMsec); }
/** Sends an RDM message to the component's channel, and dispatches to ensure no events are received and any internal flush events are processed. */ int submitAndDispatch(MsgBase msg, ReactorSubmitOptions submitOptions) { int ret = submit(msg, submitOptions); testReactor().dispatch(0); return ret; }
/** Sends a Msg to the component's channel, and dispatches to ensure no events are received and any internal flush events are processed. */ int submitAndDispatch(Msg msg, ReactorSubmitOptions submitOptions) { int ret = submit(msg, submitOptions); testReactor().dispatch(0); return ret; }
/** Disconnect a consumer and provider component and clean them up. */ public static void closeSession(Consumer consumer, Provider provider) { /* Make sure there's nothing left in the dispatch queue. */ consumer.testReactor().dispatch(0); provider.testReactor().dispatch(0); consumer.close(); provider.close(); }
testReactor().dispatch(0); provider.testReactor().dispatch(1); event = provider.testReactor().pollEvent(); assertEquals(TestReactorEventTypes.TUNNEL_STREAM_STATUS, event.type()); assertEquals(DataStates.SUSPECT, tsStatusEvent.state().dataState()); assertEquals(provTunnelStream, tsStatusEvent.tunnelStream()); provider.testReactor().dispatch(0); testReactor().dispatch(1); event = testReactor().pollEvent(); assertEquals(TestReactorEventTypes.TUNNEL_STREAM_STATUS, event.type()); testReactor().dispatch(0); provider.testReactor().dispatch(1); event = provider.testReactor().pollEvent(); assertEquals(TestReactorEventTypes.TUNNEL_STREAM_STATUS, event.type());
/** This provider always rejects tunnel streams. */ class TunnelStreamRejectProvider extends Provider { TunnelStreamRejectOptions _rejectOptions = ReactorFactory.createTunnelStreamRejectOptions(); public TunnelStreamRejectProvider(TestReactor reactor) { super(reactor); } @Override public int listenerCallback(TunnelStreamRequestEvent event) { super.listenerCallback(event); /* Accept the tunnel stream request. */ _rejectOptions.clear(); _rejectOptions.state().streamState(StreamStates.CLOSED); _rejectOptions.state().dataState(DataStates.SUSPECT); _rejectOptions.state().code(StateCodes.NOT_ENTITLED); assertEquals(ReactorReturnCodes.SUCCESS, reactorChannel().rejectTunnelStream(event, _rejectOptions, _errorInfo)); return ReactorReturnCodes.SUCCESS; } }
_tsSubmitOpts.containerType(DataTypes.OPAQUE); assertEquals(ReactorReturnCodes.SUCCESS, consTunnelStream.submit(tunnelBuffer, _tsSubmitOpts, _errorInfo)); consumerReactor.dispatch(0); providerReactor.dispatch(1); event = providerReactor.pollEvent(); assertEquals(TestReactorEventTypes.TUNNEL_STREAM_MSG, event.type()); consumerReactor.dispatch(0); _tsSubmitOpts.containerType(DataTypes.MSG); assertEquals(ReactorReturnCodes.SUCCESS, consTunnelStream.submit(tunnelBuffer, _tsSubmitOpts, _errorInfo)); consumerReactor.dispatch(0); providerReactor.dispatch(1); event = providerReactor.pollEvent(); assertEquals(TestReactorEventTypes.TUNNEL_STREAM_MSG, event.type());
provider.testReactor().dispatch(2); consumerReactor.dispatch(1); event = consumer.testReactor().pollEvent(); assertEquals(TestReactorEventTypes.CHANNEL_EVENT, event.type()); providerReactor.dispatch(1); event = provider.testReactor().pollEvent(); assertEquals(TestReactorEventTypes.LOGIN_MSG, event.type()); consumerReactor.dispatch(1); event = consumer.testReactor().pollEvent(); assertEquals(TestReactorEventTypes.CHANNEL_EVENT, event.type()); provider.testReactor().dispatch(2); consumerReactor.dispatch(1); event = consumer.testReactor().pollEvent(); assertEquals(TestReactorEventTypes.CHANNEL_EVENT, event.type()); providerReactor.dispatch(1); event = provider.testReactor().pollEvent(); assertEquals(TestReactorEventTypes.LOGIN_MSG, event.type());
consumerReactor.dispatch(1); event = consumerReactor.pollEvent(); assertEquals(TestReactorEventTypes.CHANNEL_EVENT, event.type()); consumerReactor.dispatch(1, pingTimeout * 1000 * 2); event = consumerReactor.pollEvent(); assertEquals(TestReactorEventTypes.CHANNEL_EVENT, event.type()); consumerReactor.dispatch(1); event = consumerReactor.pollEvent(); assertEquals(TestReactorEventTypes.CHANNEL_EVENT, event.type());
consumerReactor.dispatch(1, consumerInitializationTimeout * 1000 * 2); event = consumerReactor.pollEvent(); assertEquals(TestReactorEventTypes.CHANNEL_EVENT, event.type()); consumerReactor.dispatch(1); event = consumerReactor.pollEvent(); assertEquals(TestReactorEventTypes.CHANNEL_EVENT, event.type());
consumerReactor.dispatch(1, reconnectMaxDelay * 2); event = consumerReactor.pollEvent(); assertEquals(TestReactorEventTypes.CHANNEL_EVENT, event.type());
testReactor().dispatch(0); provider.testReactor().dispatch(2); event = provider.testReactor().pollEvent(); assertEquals(TestReactorEventTypes.TUNNEL_STREAM_REQUEST, event.type()); testReactor().dispatch(0); provider.testReactor().dispatch(1); event = provider.testReactor().pollEvent(); assertEquals(TestReactorEventTypes.TUNNEL_STREAM_MSG, event.type()); provider.testReactor().dispatch(0); testReactor().dispatch(1); event = testReactor().pollEvent(); assertEquals(TestReactorEventTypes.TUNNEL_STREAM_STATUS, event.type());
providerReactor.dispatch(1); event = providerReactor.pollEvent(); assertEquals(TestReactorEventTypes.MSG, event.type()); consumerReactor.dispatch(1); event = consumerReactor.pollEvent(); assertEquals(TestReactorEventTypes.MSG, event.type()); providerReactor.dispatch(1); event = providerReactor.pollEvent(); assertEquals(TestReactorEventTypes.MSG, event.type());
consumerReactor.dispatch(1 + (_enableWatchlist ? 2 : 0));