Callback invoked when sending is permitted by rate, flow and concurrency controllers.
Sending at this time prevents excessive buffering.

C# | Visual Basic | Managed C++ |
public delegate void OutgoingCallback ( IChannel unbufferedChannel, uint maximumNumberOfSendsPermittedAtThisTime, out bool wouldLikeToKeepSending )
Public Delegate Sub OutgoingCallback ( _ unbufferedChannel As IChannel, _ maximumNumberOfSendsPermittedAtThisTime As UInteger, _ <OutAttribute> ByRef wouldLikeToKeepSending As Boolean _ )
public delegate void OutgoingCallback ( IChannel^ unbufferedChannel, unsigned int maximumNumberOfSendsPermittedAtThisTime, bool% wouldLikeToKeepSending )

- unbufferedChannel (IChannel)
- A channel to use for sending in this callback. Although the same channel will be provided in each callback, using it outside the scope of this callback is not safe, and is likely to cause deadlocks and data corruption.
- maximumNumberOfSendsPermittedAtThisTime (UInt32)
- Number of send calls permitted at this time.
- wouldLikeToKeepSending (Boolean)
- Setting this parameter to true will keep this callback registered with the group, so that it would be invoked next time sending is permitted. Setting it to false will unregister the callback. After callback is unregistered, it must be explicitly re-registered via "ScheduleSend".