Important: The information in this document is obsolete and should not be used for new development.
Controlling a Provider's Modes of Operation
A provider's mode of operation determines whether the provider runs synchronously or asynchronously, whether the provider blocks, and whether the provider acknowledges sends.By default, providers created synchronously operate in synchronous mode; providers created asynchronously operate in asynchronous mode. You can use the
OTSetSynchronous
orOTSetAsynchronous
function to specify how provider functions should execute. You can find out the current setting by calling theOTIsSynchronous
function. If synchronous functions are in progress on a provider, you can cancel all of them by calling theOTCancelSynchronousCalls
function.A provider's blocking status affects how it interacts with a client. In servicing a client's request, a provider might be able to deal with the request immediately, or it might have to queue the request and deal with it later. You can set a provider's blocking status by calling the
OTSetBlocking
orOTSetNonBlocking
function. You can find out a provider's current blocking status by calling theOTIsNonBlocking
function. By default, providers do not block. For more information about blocking, see the section "Setting a Provider's Blocking Status".You can use the
OTAckSends
andOTDontAckSends
functions to specify whether a provider acknowledges sends. This determines whether a provider copies data that you send. To determine whether a provider acknowledges sends, you call theOTIsAckingSends
function. By default, providers do not acknowledge sends. Mapper and individual service providers like AppleTalk and TCP/IP ignore the setting of this attribute. However, the behavior of endpoint functions that send data is affected by the endpoint provider's acknowledgment status.