Javadoc
Main underlying method for sending a request PDU to the remote endpoint.
If no sequence number was assigned to the PDU, this method will assign one.
The PDU will be converted into a sequence of bytes by the underlying transcoder.
Also, adds the request to the underlying request "window" by either taking or
waiting for an open slot. If "synchronous", the request "window" will
be flagged so that the eventual response will be routed back to the
"request future" returned from this method vs. routed back to the session
handler and "fireUnexpectedPduResponseReceived" would be triggered.
If not "synchronous", then the eventual response will be passed to
the "fireExpectedPduResponseReceived" method on the session handler.
Please note that its possible th response PDU really isn't
the correct PDU we were waiting for, so the caller should verify it.
For example it is possible that a "Generic_Nack" could be returned by
the remote endpoint in response to a PDU.