When overridden in a derived class, synchronously passes a message to the target block.
virtual message_status send( _Inout_ message<_Type> * _PMessage, _Inout_ ISource<_Type> * _PSource ) = 0;
The method throws an invalid_argument exception if either the _PMessage or _PSource parameter is NULL.
Using the send method outside of message initiation and to propagate messages within a network is dangerous and can lead to deadlock.
When send returns, the message has either already been accepted, and transferred into the target block, or it has been declined by the target.