public class SystemImcMsgCommInfo extends SystemCommBaseInfo<pt.lsts.imc.IMCMessage,pt.lsts.neptus.messages.listener.MessageInfo,ImcId16>
Modifier and Type | Field and Description |
---|---|
protected double |
arrivalDeltaTxRxTimeNanosLastMsg |
protected double |
arrivalLastSecondMsgTime |
protected double |
arrivalMessageFreq |
protected long |
arrivalMsgsInLastSec |
protected double |
arrivalTimeMillisLastMsg |
protected com.google.common.eventbus.AsyncEventBus |
bus |
protected long |
counter |
protected pt.lsts.imc.state.ImcSysState |
imcState |
protected java.util.LinkedList<Mi> |
infoQueue |
protected boolean |
isActive |
protected pt.lsts.neptus.messages.listener.MessageListener<Mi,M> |
lastListener |
protected java.util.LinkedHashMap<java.lang.String,java.lang.Long> |
lastReceivedTime |
protected java.util.LinkedHashSet<pt.lsts.neptus.messages.listener.MessageListener<Mi,M>> |
listeners |
protected java.util.LinkedHashMap<pt.lsts.neptus.messages.listener.MessageListener<Mi,M>,MessageListenerQueueProvider<Mi,M>> |
listenersQueueProvider |
protected pt.lsts.neptus.comm.manager.CommonCommBaseImplementation.MessageProcessor |
messageProcessor |
protected long |
minDelay
Is the separation time of each message type that is warn to the listeners.
|
protected java.util.LinkedList<M> |
msgQueue |
protected PreferencesListener |
preferencesListener |
protected double |
processDeltaTxRxTimeNanosLastMsg |
protected double |
processLastSecondMsgTime |
protected double |
processMessageFreq |
protected long |
processMsgsInLastSec |
protected double |
processTimeMillisLastMsg |
protected int |
queueMaxSize |
protected long |
seqInstanceNr |
protected static boolean |
useListenersQueues |
properties, systemCommId, systemIdName
Constructor and Description |
---|
SystemImcMsgCommInfo() |
Modifier and Type | Method and Description |
---|---|
boolean |
addListener(pt.lsts.neptus.messages.listener.MessageListener<Mi,M> listener)
For public channel
Don't need to override this method. |
boolean |
addListener(pt.lsts.neptus.messages.listener.MessageListener<Mi,M> listener,
MessageFilter<Mi,M> filter)
Same as
addListener(MessageListener) but with a filter. |
void |
clearMsgQueue()
To force the clear of the messages queue.
|
double |
getArrivalDeltaTxRxTimeNanosLastMsg() |
double |
getArrivalMessageFreq()
Don't need to override this method. |
double |
getArrivalTimeMillisLastMsg()
Don't need to override this method. |
pt.lsts.imc.state.ImcSysState |
getImcState() |
java.lang.String |
getIpAddress() |
int |
getIpRemotePort() |
pt.lsts.neptus.messages.listener.MessageListener<Mi,M> |
getLastListener()
Don't need to override this method. |
protected java.util.LinkedHashSet<pt.lsts.neptus.messages.listener.MessageListener<Mi,M>> |
getListeners()
Don't need to override this method. |
protected java.util.LinkedHashMap<pt.lsts.neptus.messages.listener.MessageListener<Mi,M>,MessageListenerQueueProvider<Mi,M>> |
getListenersQueueProvider() |
int |
getListenersSize()
Don't need to override this method. |
com.google.common.eventbus.AsyncEventBus |
getMessageBus() |
protected long |
getMinDelay()
Don't need to override this method. |
int |
getMsgQueueLength()
Don't need to override this method. |
long |
getNextSeqInstanceNr()
Don't need to override this method. |
double |
getProcessDeltaTxRxTimeNanosLastMsg() |
double |
getProcessMessageFreq()
Don't need to override this method. |
double |
getProcessTimeMillisLastMsg()
Don't need to override this method. |
MessageFrequencyCalculator |
getSentMessagesFreqCalc() |
long |
getSeqInstanceNr()
Don't need to override this method. |
MessageFrequencyCalculator |
getToSendMessagesFreqCalc() |
protected boolean |
initSystemComms() |
boolean |
isActive() |
void |
onMessage(Mi info,
M msg)
This is from
#openNode . |
protected void |
processMessage(Mi info,
M msg)
This calls:
if (processMsgLocally(info, msg))
warnListeners(info, msg);
Normally this method is NOT needed to be overwritten. |
protected boolean |
processMsgLocally(pt.lsts.neptus.messages.listener.MessageInfo info,
pt.lsts.imc.IMCMessage msg)
To be used to process the message locally.
|
boolean |
removeListener(pt.lsts.neptus.messages.listener.MessageListener<Mi,M> listener)
For public channel
Don't need to override this method. |
protected void |
setActive(boolean isActive,
Mi info,
M message)
This will set activity flag and call
triggerExtraActionOnSetActive(boolean, MessageInfo, IMessage) to
trigger some extra action (by default the triggerExtraActionOnSetActive(boolean, MessageInfo, IMessage)
does nothing). |
void |
setArrivalDeltaTxRxTimeNanosLastMsg(double arrivalDeltaTxRxTimeNanosLastMsg) |
protected void |
setArrivalMessageFreq(double arrivalMessageFreq)
Don't need to override this method. |
protected void |
setArrivalTimeMillisLastMsg(double arrivalTimeMillisLastMsg)
Don't need to override this method. |
void |
setIpAddress(java.lang.String ipAddress) |
void |
setIpRemotePort(int ipRemotePort) |
protected void |
setMinDelay(long minDelay)
Don't need to override this method. |
protected void |
setProcessDeltaTxRxTimeNanosLastMsg(double processDeltaTxRxTimeNanosLastMsg) |
protected void |
setProcessTimeMillisLastMsg(double timeMillisLastMsgReceived)
This function is used to set the last msg time arrival on processor and it will calculate the frequency of
arrival.
|
protected void |
setSeqInstanceNr(long seqInstanceNr)
Don't need to override this method. |
protected boolean |
start() |
protected boolean |
startSystemComms() |
protected boolean |
stop() |
protected boolean |
stopSystemComms() |
java.lang.String |
toString() |
protected void |
triggerExtraActionOnSetActive(boolean isActive,
pt.lsts.neptus.messages.listener.MessageInfo info,
pt.lsts.imc.IMCMessage message)
You need to override this method to implement extra actions when
|
protected void |
warnListeners(Mi info,
M msg)
For public channel
Don't need to override this method. |
getProperties, getPropertiesDialogTitle, getPropertiesErrors, getPropertyValue, getSystemCommId, getSystemIdName, resumeMsgProcessing, setProperties, setProperty, setSystemCommId, setSystemIdName, stopMsgProcessing
protected pt.lsts.imc.state.ImcSysState imcState
protected com.google.common.eventbus.AsyncEventBus bus
protected static boolean useListenersQueues
protected java.util.LinkedList<M extends IMessage> msgQueue
protected java.util.LinkedList<Mi extends pt.lsts.neptus.messages.listener.MessageInfo> infoQueue
protected pt.lsts.neptus.comm.manager.CommonCommBaseImplementation.MessageProcessor messageProcessor
protected boolean isActive
protected double processTimeMillisLastMsg
protected long processMsgsInLastSec
protected double processMessageFreq
protected double processLastSecondMsgTime
protected double processDeltaTxRxTimeNanosLastMsg
protected double arrivalTimeMillisLastMsg
protected long arrivalMsgsInLastSec
protected double arrivalMessageFreq
protected double arrivalLastSecondMsgTime
protected double arrivalDeltaTxRxTimeNanosLastMsg
protected long counter
protected java.util.LinkedHashSet<pt.lsts.neptus.messages.listener.MessageListener<Mi extends pt.lsts.neptus.messages.listener.MessageInfo,M extends IMessage>> listeners
protected pt.lsts.neptus.messages.listener.MessageListener<Mi extends pt.lsts.neptus.messages.listener.MessageInfo,M extends IMessage> lastListener
protected java.util.LinkedHashMap<pt.lsts.neptus.messages.listener.MessageListener<Mi extends pt.lsts.neptus.messages.listener.MessageInfo,M extends IMessage>,MessageListenerQueueProvider<Mi extends pt.lsts.neptus.messages.listener.MessageInfo,M extends IMessage>> listenersQueueProvider
protected int queueMaxSize
protected long seqInstanceNr
protected long minDelay
protected java.util.LinkedHashMap<java.lang.String,java.lang.Long> lastReceivedTime
protected PreferencesListener preferencesListener
public final com.google.common.eventbus.AsyncEventBus getMessageBus()
protected void triggerExtraActionOnSetActive(boolean isActive, pt.lsts.neptus.messages.listener.MessageInfo info, pt.lsts.imc.IMCMessage message)
You need to override this method to implement extra actions when
setActive(boolean, MessageInfo, IMessage)
is called.
info
- Can be null.message
- Can be null.public java.lang.String getIpAddress()
public void setIpAddress(java.lang.String ipAddress)
ipAddress
- the ipAddress to setpublic int getIpRemotePort()
public void setIpRemotePort(int ipRemotePort)
ipRemotePort
- the ipRemotePort to setprotected boolean initSystemComms()
initSystemComms
in class SystemCommBaseInfo<pt.lsts.imc.IMCMessage,pt.lsts.neptus.messages.listener.MessageInfo,ImcId16>
protected boolean startSystemComms()
startSystemComms
in class SystemCommBaseInfo<pt.lsts.imc.IMCMessage,pt.lsts.neptus.messages.listener.MessageInfo,ImcId16>
protected boolean stopSystemComms()
stopSystemComms
in class SystemCommBaseInfo<pt.lsts.imc.IMCMessage,pt.lsts.neptus.messages.listener.MessageInfo,ImcId16>
protected boolean processMsgLocally(pt.lsts.neptus.messages.listener.MessageInfo info, pt.lsts.imc.IMCMessage msg)
public MessageFrequencyCalculator getSentMessagesFreqCalc()
public MessageFrequencyCalculator getToSendMessagesFreqCalc()
public java.lang.String toString()
toString
in class java.lang.Object
public final pt.lsts.imc.state.ImcSysState getImcState()
protected boolean start()
protected boolean stop()
public final int getMsgQueueLength()
Don't need to override this method.
public final void clearMsgQueue()
Don't need to override this method.
protected final java.util.LinkedHashSet<pt.lsts.neptus.messages.listener.MessageListener<Mi,M>> getListeners()
Don't need to override this method.
public final int getListenersSize()
Don't need to override this method.
public final pt.lsts.neptus.messages.listener.MessageListener<Mi,M> getLastListener()
Don't need to override this method.
protected final java.util.LinkedHashMap<pt.lsts.neptus.messages.listener.MessageListener<Mi,M>,MessageListenerQueueProvider<Mi,M>> getListenersQueueProvider()
public final boolean isActive()
protected final void setActive(boolean isActive, Mi info, M message)
triggerExtraActionOnSetActive(boolean, MessageInfo, IMessage)
to
trigger some extra action (by default the triggerExtraActionOnSetActive(boolean, MessageInfo, IMessage)
does nothing). WARNING info and message can be null.public final double getProcessTimeMillisLastMsg()
Don't need to override this method.
protected final void setProcessTimeMillisLastMsg(double timeMillisLastMsgReceived)
Don't need to override this method.
timeMillisLastMsgReceived
- the timeLastMsgReceived to setpublic final double getProcessDeltaTxRxTimeNanosLastMsg()
protected final void setProcessDeltaTxRxTimeNanosLastMsg(double processDeltaTxRxTimeNanosLastMsg)
processDeltaTxRxTimeNanosLastMsg
- the processDeltaTxRxTimeNanosLastMsg to setpublic final double getProcessMessageFreq()
Don't need to override this method.
public final double getArrivalMessageFreq()
Don't need to override this method.
protected final void setArrivalMessageFreq(double arrivalMessageFreq)
Don't need to override this method.
arrivalMessageFreq
- the arrivalMessageFreq to setpublic final double getArrivalTimeMillisLastMsg()
Don't need to override this method.
protected final void setArrivalTimeMillisLastMsg(double arrivalTimeMillisLastMsg)
Don't need to override this method.
arrivalTimeMillisLastMsg
- the arrivalTimeLastMsg to setpublic final double getArrivalDeltaTxRxTimeNanosLastMsg()
public final void setArrivalDeltaTxRxTimeNanosLastMsg(double arrivalDeltaTxRxTimeNanosLastMsg)
arrivalDeltaTxRxTimeNanosLastMsg
- the arrivalDeltaTxRxTimeNanosLastMsg to setprotected long getMinDelay()
Don't need to override this method.
protected void setMinDelay(long minDelay)
Don't need to override this method.
minDelay
- protected void warnListeners(Mi info, M msg)
Don't need to override this method.
info
- msg
- public boolean addListener(pt.lsts.neptus.messages.listener.MessageListener<Mi,M> listener)
Don't need to override this method.
listener
- public boolean addListener(pt.lsts.neptus.messages.listener.MessageListener<Mi,M> listener, MessageFilter<Mi,M> filter)
addListener(MessageListener)
but with a filter.
Don't need to override this method.
listener
- filter
- If null means no filter.public boolean removeListener(pt.lsts.neptus.messages.listener.MessageListener<Mi,M> listener)
Don't need to override this method.
listener
- public final void onMessage(Mi info, M msg)
#openNode
.
This method is to be called upon message arrival.
onMessage
in interface pt.lsts.neptus.messages.listener.MessageListener<Mi extends pt.lsts.neptus.messages.listener.MessageInfo,M extends IMessage>
MessageListener.onMessage(pt.lsts.neptus.messages.listener.MessageInfo,
pt.lsts.neptus.messages.IMessage)
protected final void processMessage(Mi info, M msg)
if (processMsgLocally(info, msg)) warnListeners(info, msg);
Normally this method is NOT needed to be overwritten.
info
- msg
- public final long getSeqInstanceNr()
Don't need to override this method.
protected final void setSeqInstanceNr(long seqInstanceNr)
Don't need to override this method.
seqInstanceNr
- the seqInstanceNr to setpublic final long getNextSeqInstanceNr()
Don't need to override this method.
Copyright © 2004-2014 FEUP-LSTS and Neptus developers. All Rights Reserved.