@Override public int defaultMsgCallback(ReactorMsgEvent event) ChannelInfo chnlInfo = (ChannelInfo)event.reactorChannel().userSpecObj(); Msg msg = event.msg(); System.out.printf("defaultMsgCallback: %s(%s)\n", event.errorInfo().error().text(), event.errorInfo().location()); if (event.reactorChannel().selectableChannel() != null) SelectionKey key = event.reactorChannel().selectableChannel().keyFor(selector); if (key != null) key.cancel(); event.reactorChannel().majorVersion(), event.reactorChannel().minorVersion());
/** Copy ReactorMsgEvent parts. */ public static void copyMsgEvent(ReactorMsgEvent otherEvent, ReactorMsgEvent event) { if (otherEvent.msg() != null) { event.msg(CodecFactory.createMsg()); otherEvent.msg().copy(event.msg(), CopyMsgFlags.ALL_FLAGS); } /* Copy transport buffer if present. */ if (otherEvent.transportBuffer() != null) event.transportBuffer(new CopiedTransportBuffer(otherEvent.transportBuffer())); if (otherEvent.streamInfo() != null) { event.streamInfo().userSpecObject(otherEvent.streamInfo().userSpecObject()); if (otherEvent.streamInfo().serviceName() != null) event.streamInfo().serviceName(otherEvent.streamInfo().serviceName()); } event.reactorChannel(otherEvent.reactorChannel()); TestUtil.copyErrorInfo(otherEvent.errorInfo(), event.errorInfo()); }
@Override public int defaultMsgCallback(ReactorMsgEvent event) { System.out.println("DEBUG: ReactorCallbackHandler.defaultMsgCallback: entered. defaultMsgEventCount=" + ++_defaultMsgEventCount + " event=" + event.toString()); _lastDefaultMsgEvent = new ReactorMsgEvent(); TestUtil.copyMsgEvent(event, _lastDefaultMsgEvent); return ReactorCallbackReturnCodes.SUCCESS; }
@Override public int defaultMsgCallback(ReactorMsgEvent event) { Msg msg = event.msg(); if (msg == null) { System.out.printf("defaultMsgCallback() received error: %s(%s)\n", event.errorInfo().error().text(), event.errorInfo().location()); return ReactorCallbackReturnCodes.SUCCESS; } return ReactorCallbackReturnCodes.SUCCESS; }
/** * Creates a new Reactor object. * * @return the reactor msg event */ static ReactorMsgEvent createReactorMsgEvent() { ReactorMsgEvent reactorMsgEvent = (ReactorMsgEvent)_reactorMsgEventPool.poll(); if(reactorMsgEvent == null) { reactorMsgEvent = new ReactorMsgEvent(); _reactorMsgEventPool.updatePool(reactorMsgEvent); } else { reactorMsgEvent.clear(); } return reactorMsgEvent; }
private int sendDefaultMsgCallback(ReactorChannel reactorChannel, TransportBuffer transportBuffer, Msg msg, WatchlistStreamInfo streamInfo) { ReactorMsgEvent reactorMsgEvent = ReactorFactory.createReactorMsgEvent(); reactorMsgEvent.reactorChannel(reactorChannel); reactorMsgEvent.transportBuffer(transportBuffer); reactorMsgEvent.msg(msg); if (streamInfo != null) { reactorMsgEvent.streamInfo().serviceName(streamInfo.serviceName()); reactorMsgEvent.streamInfo().userSpecObject(streamInfo.userSpecObject()); } else { reactorMsgEvent.streamInfo().clear(); } int retval = reactorChannel.role().defaultMsgCallback().defaultMsgCallback(reactorMsgEvent); reactorMsgEvent.returnToPool(); return retval; }
@Override public int defaultMsgCallback(ReactorMsgEvent event) { System.out.println("Received message with unhandled domain: " + event.msg().domainType()); return ReactorCallbackReturnCodes.SUCCESS; }
Msg msg = event.msg(); ClientSession clientSession = (ClientSession)event.reactorChannel().userSpecObj(); .append("RsslReactor ").append(Integer.toHexString(clientSession.channel().reactor().hashCode())) .append(OmmLoggerClient.CR); if (event.reactorChannel() != null && event.reactorChannel().selectableChannel() != null) temp.append("RsslReactorChannel ").append(Integer.toHexString(event.reactorChannel().hashCode())) .append(OmmLoggerClient.CR) .append("RsslSelectableChannel ").append(Integer.toHexString(event.reactorChannel().selectableChannel().hashCode())); else temp.append("RsslReactorChannel is null").append(OmmLoggerClient.CR); .append("RsslReactor ").append(Integer.toHexString(clientSession.channel().reactor().hashCode())) .append(OmmLoggerClient.CR); if (event.reactorChannel() != null && event.reactorChannel().selectableChannel() != null) temp.append("RsslReactorChannel ").append(Integer.toHexString(event.reactorChannel().hashCode())) .append(OmmLoggerClient.CR) .append("RsslSelectableChannel ").append(Integer.toHexString(event.reactorChannel().selectableChannel().hashCode())); else temp.append("RsslReactorChannel is null").append(OmmLoggerClient.CR); .append("Instance Name ").append(_baseImpl.instanceName()) .append(OmmLoggerClient.CR) .append("RsslReactor ").append(Integer.toHexString(event.reactorChannel().hashCode())) .append(OmmLoggerClient.CR); if (event.reactorChannel() != null && event.reactorChannel().selectableChannel() != null) temp.append("RsslReactorChannel ").append(Integer.toHexString(event.reactorChannel().hashCode())) .append(OmmLoggerClient.CR) .append("RsslSelectableChannel ").append(Integer.toHexString(event.reactorChannel().selectableChannel().hashCode()));
assertEquals(TestReactorEventTypes.MSG, event.type()); msgEvent = (ReactorMsgEvent)event.reactorEvent(); assertEquals(MsgClasses.REQUEST, msgEvent.msg().msgClass()); receivedRequestMsg = (RequestMsg)msgEvent.msg(); assertTrue(receivedRequestMsg.msgKey().checkHasServiceId()); assertTrue(receivedRequestMsg.checkStreaming()); assertEquals(TestReactorEventTypes.MSG, event.type()); msgEvent = (ReactorMsgEvent)event.reactorEvent(); assertEquals(MsgClasses.REFRESH, msgEvent.msg().msgClass()); receivedRefreshMsg = (RefreshMsg)msgEvent.msg(); assertTrue(receivedRefreshMsg.checkHasMsgKey()); assertTrue(receivedRefreshMsg.msgKey().checkHasServiceId()); assertEquals(StreamStates.OPEN, receivedRefreshMsg.state().streamState()); assertEquals(DataStates.OK, receivedRefreshMsg.state().dataState()); assertNotNull(msgEvent.streamInfo()); assertNotNull(msgEvent.streamInfo().serviceName()); assertTrue(msgEvent.streamInfo().serviceName().equals(Provider.defaultService().info().serviceName().toString()));
assertEquals(TestReactorEventTypes.MSG, event.type()); msgEvent = (ReactorMsgEvent)event.reactorEvent(); assertNotNull(msgEvent.transportBuffer()); assertEquals(MsgClasses.REQUEST, msgEvent.msg().msgClass()); receivedRequestMsg = (RequestMsg)msgEvent.msg(); assertTrue(receivedRequestMsg.checkStreaming()); assertFalse(receivedRequestMsg.checkNoRefresh()); assertEquals(TestReactorEventTypes.MSG, event.type()); msgEvent = (ReactorMsgEvent)event.reactorEvent(); assertNotNull(msgEvent.transportBuffer()); assertEquals(MsgClasses.REFRESH, msgEvent.msg().msgClass()); receivedRefreshMsg = (RefreshMsg)msgEvent.msg(); assertTrue(receivedRefreshMsg.checkHasMsgKey()); assertTrue(receivedRefreshMsg.msgKey().checkHasServiceId()); assertEquals(TestReactorEventTypes.MSG, event.type()); msgEvent = (ReactorMsgEvent)event.reactorEvent(); assertNotNull(msgEvent.transportBuffer()); assertEquals(MsgClasses.CLOSE, msgEvent.msg().msgClass()); receivedCloseMsg = (CloseMsg)msgEvent.msg(); assertEquals(5, receivedCloseMsg.streamId()); assertEquals(DomainTypes.MARKET_PRICE, receivedCloseMsg.domainType());
ReactorMsgEvent msgEvent = callbackHandler.lastDefaultMsgEvent(); assertNotNull(msgEvent); assertTrue(msgEvent.streamInfo().serviceName().equals("NI_PUB")); assertTrue(msgEvent.streamInfo().userSpecObject().equals("Unit Test")); assertNotNull(msgEvent); assertTrue(msgEvent.streamInfo().serviceName().equals("NI_PUB")); assertTrue(directoryMsgEvent.streamInfo().userSpecObject().equals("Unit Test")); DirectoryRefresh returnDirectoryRefresh = (DirectoryRefresh)directoryMsgEvent._directoryMsg;
ReactorMsgEvent msgEvent = callbackHandler.lastDefaultMsgEvent(); assertNotNull(msgEvent); verifyMessage(msgEvent.transportBuffer(), MsgClasses.REFRESH, DomainTypes.LOGIN);
_event = new ReactorMsgEvent(); TestUtil.copyMsgEvent((ReactorMsgEvent)event, (ReactorMsgEvent)_event); break;
@Override public int defaultMsgCallback(ReactorMsgEvent event) { Msg msg = event.msg(); _dIter.clear(); _dIter.setBufferAndRWFVersion(msg.encodedDataBody(), _reactorChannel.majorVersion(), _reactorChannel.minorVersion()); processMarketPriceResp(msg, _dIter); return ReactorCallbackReturnCodes.SUCCESS; }
UpdateMsg updateMsg = (UpdateMsg)msgEvent.msg(); assertTrue(updateMsg.checkHasMsgKey()); closeMsg.streamId(1); closeMsg.domainType(DomainTypes.LOGIN); assertEquals(ReactorReturnCodes.SUCCESS, msgEvent.reactorChannel().submit(closeMsg, submitOptions, errorInfo)); assertEquals(ReactorReturnCodes.SUCCESS, msgEvent.reactorChannel().submit(closeMsg, submitOptions, errorInfo));
assertEquals(6, msgEvent.msg().streamId()); assertTrue(msgEvent.streamInfo().serviceName().equals("DIRECT_FEED")); assertTrue(msgEvent.streamInfo().userSpecObject().equals("TEST_userSpecObj"));
assertEquals(TestReactorEventTypes.MSG, event.type()); msgEvent = (ReactorMsgEvent)event.reactorEvent(); assertNotNull(msgEvent.transportBuffer()); assertEquals(MsgClasses.STATUS, msgEvent.msg().msgClass()); receivedStatusMsg = (StatusMsg)msgEvent.msg(); assertFalse(receivedStatusMsg.checkHasMsgKey()); assertEquals(DomainTypes.SYSTEM, receivedStatusMsg.domainType());
ReactorMsgEvent msgEvent = callbackHandler.lastDefaultMsgEvent(); assertNotNull(msgEvent); assertTrue(msgEvent.streamInfo().serviceName().equals("DIRECT_FEED")); assertTrue(msgEvent.streamInfo().userSpecObject().equals("Unit Test"));
ReactorMsgEvent msgEvent = callbackHandler.lastDefaultMsgEvent(); assertNotNull(msgEvent); verifyMessage(msgEvent.transportBuffer(), MsgClasses.REFRESH, DomainTypes.LOGIN);
@Override public int defaultMsgCallback(ReactorMsgEvent event) { ReactorChannel reactorChannel = event.reactorChannel(); ProviderSession provSession = (ProviderSession)reactorChannel.userSpecObj(); ProviderThread providerThread = provSession.providerThread(); Msg msg = event.msg(); _decodeIter.clear(); if (msg.encodedDataBody() != null && msg.encodedDataBody().data() != null) { _decodeIter.setBufferAndRWFVersion(msg.encodedDataBody(), reactorChannel.majorVersion(), reactorChannel.minorVersion()); } switch (msg.domainType()) { case DomainTypes.MARKET_PRICE: if (_xmlMsgData.marketPriceUpdateMsgCount() > 0) _itemRequestHandler.processMsg(providerThread, provSession, msg, _directoryProvider.openLimit(), _directoryProvider.serviceId(), _directoryProvider.qos(), _decodeIter, event.errorInfo().error()); else _itemRequestHandler.sendRequestReject(providerThread, provSession, msg, ItemRejectReason.DOMAIN_NOT_SUPPORTED, event.errorInfo().error()); break; default: _itemRequestHandler.sendRequestReject(providerThread, provSession, msg, ItemRejectReason.DOMAIN_NOT_SUPPORTED, event.errorInfo().error()); break; } return ReactorCallbackReturnCodes.SUCCESS; }