synchronized protected void sendMessage(AbstractMRMessage m,AbstractMRListener reply){
  msgQueue.addLast(m);
  listenerQueue.addLast(reply);
synchronized (xmtRunnable) {
    if (mCurrentState == IDLESTATE) {
      mCurrentState=NOTIFIEDSTATE;
      xmtRunnable.notify();
    }
  }
  if (m != null) {
    if (log.isDebugEnabled()) {
      log.debug("just notified transmit thread with message {}",m.toString());
    }
  }
}

synchronized protected void sendMessage ( AbstractMRMessage m , AbstractMRListener reply ) { msgQueue . addLast ( m ) ; listenerQueue . addLast ( reply ) ; synchronized ( xmtRunnable ) { if ( mCurrentState == IDLESTATE ) { mCurrentState = NOTIFIEDSTATE ; xmtRunnable . notify ( ) ; } } if ( m != null ) { if ( log . isDebugEnabled ( ) ) { log . debug ( "just notified transmit thread with message {}" , m . toString ( ) ) ; } } }
this is invoked with messages to be forwarded to the port . it queues them , then notifies the transmission thread .
