private void getSRLSend(SRLSend send, long ts) { FieldValues values = new FieldValues(); // addProcess(event.getSenderProcess()); // addProcess(event.getAddresseeProcess()); values.addIntValue(send.getSenderInstance()); values.addStringValue(send.getPort()); values.addIntValue(send.getPortIndex().intValue()); values.addIntValue(send.getMessageAddress().intValue()); sentTsByMsgAddr.put(send.getMessageAddress(), send.getTs()); client.eventRead( new RoseSendEventInfo( ts, send.getSenderId(), send.getReceiverId(), send.getReceivedAt(), send.getSignal(), send.getReceiverInstance(), EventFactory.ROSE_SEND_EVENT_TYPE_ID, values)); }
private void getSRLReceive(SRLReceive receive, long ts) { FieldValues values = new FieldValues(); // addProcess(event.getSenderProcess()); // addProcess(event.getAddresseeProcess()); values.addIntValue(receive.getReceiverInstance()); values.addStringValue(receive.getPort().toString()); values.addIntValue(receive.getPortIndex().intValue()); values.addIntValue(receive.getMessageAddress().intValue()); client.eventRead( new RoseReceiveEventInfo( ts, 777, receive.getReceiverId(), receive.getSentAt(), receive.getSignal(), receive.getStateId(), receive.getTs(), EventFactory.ROSE_RECEIVE_EVENT_TYPE_ID, values)); }
private void getUserEvent(TypedCircularMessage message, long ts) { Struct struct = message.getStruct(); userStructs.add(struct); int structId = struct.getId(); FieldValues values = new FieldValues(); List<Field> fields = struct.getFields(); for (Field field : fields) { String fieldName = field.getName(); Object value = message.getValue(fieldName); Type type = field.getType(); if (field.isNullTerminated()) { if (type.getId() == Type.Srl.t_char.getId()) { String s = (String) value; values.addStringValue(s); } else { throw new UnsupportedOperationException( "Only null terminated 'char' sequences are currently supported, type is " + type); } } else if (field.getNumElements() == 1) { Srl srlType = Srl.valueOf(type.getId()); switch (srlType) { case t_srl_I32: case t_srl_U32: Long i = (Long) value; values.addLongValue(i); break; default: throw new UnsupportedOperationException("Unsupported type: " + type); } } else { throw new UnsupportedOperationException( "Arrays are currently not supported, type is " + type); } } client.eventRead(new GenericEventInfo(ts, structId, values)); }