ChannelInfo chnlInfo = (ChannelInfo)event.reactorChannel().userSpecObj(); event.reactorChannel().selectableChannel().register(selector, SelectionKey.OP_READ, event.reactorChannel()); if (event.reactorChannel().ioctl(IoctlCodes.SYSTEM_WRITE_BUFFERS, sendBufSize, errorInfo) != TransportReturnCodes.SUCCESS) if (event.reactorChannel().ioctl(IoctlCodes.SYSTEM_READ_BUFFERS, rcvBufSize, errorInfo) != TransportReturnCodes.SUCCESS) + event.reactorChannel().oldSelectableChannel() + " New Channel: " + event.reactorChannel().selectableChannel()); SelectionKey key = event.reactorChannel().oldSelectableChannel().keyFor(selector); if (key != null) key.cancel(); event.reactorChannel().selectableChannel().register(selector, SelectionKey.OP_READ, event.reactorChannel()); chnlInfo.reactorChannel = event.reactorChannel(); if (event.reactorChannel().selectableChannel() != null) System.out.println("\nConnection down reconnecting: Channel " + event.reactorChannel().selectableChannel()); else System.out.println("\nConnection down reconnecting"); if (event.reactorChannel().selectableChannel() != null)
ChannelInfo chnlInfo = (ChannelInfo)event.reactorChannel().userSpecObj(); if (event.reactorChannel().selectableChannel() != null) System.out.println("Channel Up Event: " + event.reactorChannel().selectableChannel()); else System.out.println("Channel Up Event"); event.reactorChannel().selectableChannel().register(selector, SelectionKey.OP_READ, event.reactorChannel()); + event.reactorChannel().oldSelectableChannel() + " New Channel: " + event.reactorChannel().selectableChannel()); SelectionKey key = event.reactorChannel().oldSelectableChannel().keyFor(selector); if (key != null) key.cancel(); event.reactorChannel().selectableChannel().register(selector, SelectionKey.OP_READ, event.reactorChannel()); chnlInfo.reactorChannel = event.reactorChannel(); if (event.reactorChannel().selectableChannel() != null) System.out.println("Channel Ready Event: " + event.reactorChannel().selectableChannel()); else System.out.println("Channel Ready Event"); if (event.reactorChannel().selectableChannel() != null)
@Override public int reactorChannelEventCallback(ReactorChannelEvent event) ReactorChannel reactorChannel = event.reactorChannel(); SelectionKey key = event.reactorChannel().oldSelectableChannel().keyFor(selector); if (key != null) key.cancel(); case ReactorChannelEventTypes.CHANNEL_DOWN: if (event.reactorChannel().selectableChannel() != null) System.out.println("\nConnection down: Channel " + event.reactorChannel().selectableChannel()); else System.out.println("\nConnection down");
@Override public int reactorChannelEventCallback(ReactorChannelEvent event) ReactorChannel reactorChannel = event.reactorChannel(); ProviderSession provSession = (ProviderSession)reactorChannel.userSpecObj(); + event.reactorChannel().oldSelectableChannel() + " New Channel: " + event.reactorChannel().selectableChannel()); SelectionKey key = event.reactorChannel().oldSelectableChannel().keyFor(_selector); key.cancel(); event.reactorChannel().selectableChannel().register(_selector, SelectionKey.OP_READ, event.reactorChannel());
_rsslStatusMsg.applyHasState(); _statusMsg.decode(_rsslStatusMsg, event.reactorChannel().majorVersion(), event.reactorChannel().minorVersion(), null); _rsslStatusMsg.applyHasState(); _statusMsg.decode(_rsslStatusMsg, event.reactorChannel().majorVersion(), event.reactorChannel().minorVersion(), null); _rsslStatusMsg.applyHasState(); _statusMsg.decode(_rsslStatusMsg, event.reactorChannel().majorVersion(), event.reactorChannel().minorVersion(), null);
private int sendChannelEventCallback(int eventType, ReactorChannel reactorChannel, ReactorErrorInfo errorInfo) { ReactorChannelEvent reactorChannelEvent = ReactorFactory.createReactorChannelEvent(); reactorChannelEvent.reactorChannel(reactorChannel); reactorChannelEvent.eventType(eventType); populateErrorInfo(reactorChannelEvent.errorInfo(), errorInfo.code(), errorInfo.location(), errorInfo.error().text()); int retval = reactorChannel.role().channelEventCallback().reactorChannelEventCallback(reactorChannelEvent); reactorChannelEvent.returnToPool(); return retval; }
ReactorChannel rc = event.reactorChannel(); int eventType = event.eventType();
ReactorChannel rc = event.reactorChannel(); int eventType = event.eventType();
TestReactorComponent component = (TestReactorComponent)event.reactorChannel().userSpecObj(); assertEquals(component.reactorChannel(), event.reactorChannel()); else component.reactorChannel(event.reactorChannel());
assertEquals(ReactorChannelEventTypes.CHANNEL_READY, channelEvent.eventType()); Channel writeFlushFailChannel = new WriteFlushFailChannel(channelEvent.reactorChannel().channel()); assertEquals("DIRECT_FEED", submitOptions.serviceName()); assertNotNull(submitOptions.requestMsgOptions().userSpecObj()); assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(loginRequest, submitOptions, errorInfo)); channelEvent.reactorChannel().selectableChannelFromChannel(writeFlushFailChannel); assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(loginRequest, submitOptions, errorInfo)); Thread.sleep(1000); assertEquals(1, ((WriteFlushFailChannel)writeFlushFailChannel).flushCount); ((WriteFlushFailChannel)writeFlushFailChannel).flushRetVal = 1; ((WriteFlushFailChannel)writeFlushFailChannel).resetRetValAfterFlush = true; assertEquals(ReactorReturnCodes.WRITE_CALL_AGAIN, channelEvent.reactorChannel().submit(loginRequest, submitOptions, errorInfo)); Thread.sleep(1000); ((WriteFlushFailChannel)writeFlushFailChannel).flushRetVal = 1; ((WriteFlushFailChannel)writeFlushFailChannel).resetRetValAfterFlush = true; assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(loginRequest, submitOptions, errorInfo)); Thread.sleep(1000);
TransportBuffer msgBuf = event.reactorChannel().channel().getBuffer(1000, false, errorInfo.error()); assertNotNull(msgBuf); ReactorSubmitOptions submitOptions = ReactorFactory.createReactorSubmitOptions(); assertEquals("DIRECT_FEED", submitOptions.serviceName()); assertNotNull(submitOptions.requestMsgOptions().userSpecObj()); assertEquals(ReactorReturnCodes.INVALID_USAGE, event.reactorChannel().submit(msgBuf, submitOptions, errorInfo)); assertEquals(ReactorReturnCodes.INVALID_USAGE, event.reactorChannel().submit(marketPriceRequest, submitOptions, errorInfo)); event.reactorChannel().state(ReactorChannel.State.DOWN_RECONNECTING); LoginRequest loginRequest = consumerRole.rdmLoginRequest(); assertNotNull(loginRequest); assertEquals(ReactorReturnCodes.SUCCESS, event.reactorChannel().submit(loginRequest, submitOptions, errorInfo)); event.reactorChannel().state(ReactorChannel.State.UP); event.reactorChannel().watchlist().loginHandler().channelUp(errorInfo); ReactorJunit.dispatchReactor(selector, reactor);
assertEquals(ReactorChannelEventTypes.CHANNEL_READY, channelEvent.eventType()); Channel writeFlushFailChannel = new WriteFlushFailChannel(channelEvent.reactorChannel().channel()); TransportBuffer msgBuf = channelEvent.reactorChannel().channel().getBuffer(1000, false, error); assertNotNull(msgBuf); encIter.setBufferAndRWFVersion(msgBuf, channelEvent.reactorChannel().channel().majorVersion(), channelEvent.reactorChannel().channel().minorVersion()); assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(msgBuf, submitOptions, errorInfo)); channelEvent.reactorChannel().selectableChannelFromChannel(writeFlushFailChannel); assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(msgBuf, submitOptions, errorInfo)); Thread.sleep(1000); assertEquals(1, ((WriteFlushFailChannel)writeFlushFailChannel).flushCount);
assertNotNull(event); assertEquals(ReactorChannelEventTypes.CHANNEL_READY, event.eventType()); assertTrue(event.reactorChannel().userSpecObj().equals("userSpecObject: " + serverPort)); assertNotNull(event); assertEquals(ReactorChannelEventTypes.CHANNEL_READY, event.eventType()); assertTrue(event.reactorChannel().userSpecObj().equals("userSpecObject: " + serverPortBackup));
assertEquals(ReactorChannelEventTypes.CHANNEL_READY, channelEvent.eventType()); Channel writeFlushFailChannel = new WriteFlushFailChannel(channelEvent.reactorChannel().channel()); assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(loginRequest, submitOptions, errorInfo)); verifyMessage(testServer.buffer(), MsgClasses.REQUEST, DomainTypes.LOGIN); channelEvent.reactorChannel().selectableChannelFromChannel(writeFlushFailChannel); ((WriteFlushFailChannel)writeFlushFailChannel).flushRetVal = TransportReturnCodes.SUCCESS; ((WriteFlushFailChannel)writeFlushFailChannel).smallBuffer = true; assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(loginRequest, submitOptions, errorInfo)); Thread.sleep(1000); assertEquals(1, ((WriteFlushFailChannel)writeFlushFailChannel).releaseBufferCount);
assertEquals(ReactorChannelEventTypes.CHANNEL_READY, channelEvent.eventType()); Channel writeFlushFailChannel = new WriteFlushFailChannel(channelEvent.reactorChannel().channel()); assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(loginRequest, submitOptions, errorInfo)); verifyMessage(testServer.buffer(), MsgClasses.REQUEST, DomainTypes.LOGIN); channelEvent.reactorChannel().selectableChannelFromChannel(writeFlushFailChannel); ((WriteFlushFailChannel)writeFlushFailChannel).flushRetVal = TransportReturnCodes.SUCCESS; ((WriteFlushFailChannel)writeFlushFailChannel).noBuffers = true; assertEquals(ReactorReturnCodes.NO_BUFFERS, channelEvent.reactorChannel().submit(loginRequest, submitOptions, errorInfo)); Thread.sleep(1000); assertEquals(0, ((WriteFlushFailChannel)writeFlushFailChannel).releaseBufferCount);
assertEquals(ReactorChannelEventTypes.CHANNEL_READY, channelEvent.eventType()); Channel writeFlushFailChannel = new WriteFlushFailChannel(channelEvent.reactorChannel().channel()); assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(msg, submitOptions, errorInfo)); verifyMessage(testServer.buffer(), MsgClasses.REQUEST, DomainTypes.LOGIN); channelEvent.reactorChannel().selectableChannelFromChannel(writeFlushFailChannel); ((WriteFlushFailChannel)writeFlushFailChannel).flushRetVal = TransportReturnCodes.SUCCESS; ((WriteFlushFailChannel)writeFlushFailChannel).smallBuffer = true; assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(msg, submitOptions, errorInfo)); Thread.sleep(1000); assertEquals(1, ((WriteFlushFailChannel)writeFlushFailChannel).releaseBufferCount);
assertEquals(ReactorChannelEventTypes.CHANNEL_READY, channelEvent.eventType()); Channel writeFlushFailChannel = new WriteFlushFailChannel(channelEvent.reactorChannel().channel()); assertEquals(ReactorReturnCodes.SUCCESS, channelEvent.reactorChannel().submit(msg, submitOptions, errorInfo)); verifyMessage(testServer.buffer(), MsgClasses.REQUEST, DomainTypes.LOGIN); channelEvent.reactorChannel().selectableChannelFromChannel(writeFlushFailChannel); ((WriteFlushFailChannel)writeFlushFailChannel).flushRetVal = TransportReturnCodes.SUCCESS; ((WriteFlushFailChannel)writeFlushFailChannel).noBuffers = true; assertEquals(ReactorReturnCodes.NO_BUFFERS, channelEvent.reactorChannel().submit(msg, submitOptions, errorInfo));
LoginRequest loginRequest = consumerRole.rdmLoginRequest(); assertNotNull(loginRequest); assertEquals(ReactorReturnCodes.SUCCESS, event.reactorChannel().submit(loginRequest, submitOptions, errorInfo));
assertNotNull(channelEvent); assertEquals(ReactorChannelEventTypes.CHANNEL_UP, channelEvent.eventType()); ReactorChannel consumerReactorChannel = channelEvent.reactorChannel();
assertNotNull(channelEvent); assertEquals(ReactorChannelEventTypes.CHANNEL_UP, channelEvent.eventType()); ReactorChannel consumerReactorChannel = channelEvent.reactorChannel();