IDeliveryProtocol.Flush Method

Completes and sends, or aborts, any notifications the delivery protocol is currently processing.

Namespace: Microsoft.SqlServer.NotificationServices
Assembly: Microsoft.SqlServer.NotificationServices (in microsoft.sqlserver.notificationservices.dll)

Syntax

'Declaration
Sub Flush
void Flush ()
void Flush ()
void Flush ()
function Flush ()

Remarks

The Flush method is called by the distributor when it wants the delivery protocol to complete any notifications that are pending for message creation or for routing to the external delivery system.

The Flush method must either complete or abort any pending operations before returning. It can impose a time-out on pending operations, which can be configured in the protocol settings in the application definition or in the delivery channel arguments of the instance configuration. This is implementation specific and is not enforced by the distributor.

You can use calls to the Flush method to wait for or terminate an outstanding transaction. If it makes sense for your application, you can submit all outstanding status callbacks as a batch, thereby making a single round-trip to the server.

Note

When creating a custom delivery protocol, you must ensure that status callbacks for all notifications that have not yet had their delivery status recorded are sent before the Flush method finishes. Status callbacks return status to the distributor by using the NotificationStatusCallback delegate. Failure to return status for any outstanding notifications can result in distribution errors. No callbacks are allowed after the NotificationStatusCallback method completes and notification delivery status information might therefore be incomplete.

Example

For an example of how to implement the Flush method, see the IDeliveryProtocol interface topic.

Thread Safety

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

Target Platforms

For a list of the supported platforms, see Hardware and Software Requirements for Installing SQL Server 2005.

See Also

Reference

IDeliveryProtocol Interface
IDeliveryProtocol Members
Microsoft.SqlServer.NotificationServices Namespace