@Override public void publishTo(Object inData) { emitterSupport.send(inData); } /**
@Override public void receiveData(DataFlowID inFlowID, Object inData) throws ReceiveDataException { DataEmitterSupport dataEmitterSupport = dataSupport.get(inFlowID); if(dataEmitterSupport != null) { dataEmitterSupport.send(inData); } } /* (non-Javadoc)
/** * This method is invoked when an object is received from the remote * receiver. * <p> * The received object is delivered to all the data flows sequentially. * * @param inObject the received object. */ @Override public void receiveData(Object inObject) { for(DataEmitterSupport support: mRequests.values()) { support.send(inObject); } }
@Override public void receiveExecutionReport(ExecutionReport inReport) { SLF4JLoggerProxy.debug(this, "Emitting Report {}", //$NON-NLS-1$ inReport); mSupport.send(inReport); }
@Override public void receiveCancelReject(OrderCancelReject inReport) { SLF4JLoggerProxy.debug(this, "Emitting Cancel Reject {}", //$NON-NLS-1$ inReport); mSupport.send(inReport); }
@Override public void run() { try { //Run until interrupted while(true) { mEmitterSupport.send(mDataQueue.take()); } } catch (InterruptedException e) { SLF4JLoggerProxy.debug(this, e, "Data publishing interrupted. Discarding {} undelivered items", //$NON-NLS-1$ mDataQueue.size()); } }
/** Map the incoming data to some type, find the list of all {@link DataEmitterSupport} objects * and send the data on its way there * Ignore the flowID * This is a very inefficient implementation - just iterate over all known requests * and if we find a match send the data that way */ @Override public void receiveData(DataFlowID inFlowID, Object inData) throws ReceiveDataException { if(inData != null) { for (Pair<Class<?>, DataEmitterSupport> classEmitterPair : mRequestMap.values()) { if(classEmitterPair.getFirstMember().isAssignableFrom(inData.getClass())) { classEmitterPair.getSecondMember().send(inData); } } } //ignore null data }
@Override public void publishTo(final Object inEvent) { if(inEvent instanceof Event) { requestLock.executeRead(new Runnable() { @Override public void run() { Event event = (Event)inEvent; Object token = event.getSource(); RequestID requestID = requests.get(token); event.setSource(requestID); } }); } ThreadedMetric.event("mdata-OUT"); //$NON-NLS-1$ inSupport.send(inEvent); } };
inData, target); target.send(inData);
establishedConnection.send(inEvent);
for(Event event : inEvents) { try { requestData.getDataEmitterSupport().send(event); } catch (Exception e) { if(SLF4JLoggerProxy.isDebugEnabled(this)) {