mt_finish_transfer_in(3xmt) — Subroutines
(c) Digital Equipment Corporation. 1994. All rights reserved.
Name
mt_finish_transfer_in − Concludes one or all of the transfers in progress in a session.
Syntax
OM_return_code = mt_finish_transfer_in (session, object, remove)
| Argument | Data Type | Access |
| session | OM_private_object | read only |
| object | OM_private_object | read only |
| remove | OM_boolean | read only |
| return_code | OM_return_code |
C Binding
OM_return_code mt_finish_transfer_in (session, object, remove) OM_private_object session;
OM_private_object object;
OM_boolean remove;
Arguments
SessionAn established MT session between a Client and the Service; an instance of the Session class.
ObjectThe object whose transfer-in is to be concluded; an instance of class Communique or Report. The object should be reserved when the routine is called. The routine makes the object inaccessible.
If the Object argument is the null pointer, the routine concludes the transfer-in of all reserved objects.
RemoveIndicates whether the Service is to remove the object or objects from the input queue or leave them there.
Description
This routine concludes one or all of the transfers in progress in a session. The Client must indicate whether the Service is to remove the objects from the input queue or leave them there. If the Service removes an object, responsibility for that object passes to the Client. If the Service leaves an object on the queue, the Service marks the object unreserved and makes it inaccessible; that is, it makes the object handles invalid. A communique or report can, however, be obtained again in a later call to mt_start_transfer_in.
The Client should call mt_finish_transfer_in with the Remove argument set to true after it successfully processes an object in the input queue. If the object is a message or report, the processing involves delivering or transferring it to the indicated users of the mail system to which the Client is a gateway. If the object is a probe, the processing involves establishing the deliverability of a message to those users.
If the Client cannot process an object for a reason that it considers to be permanent, for example an invalid O/R address, the Client should issue an NDR, and terminate the transfer in with the Remove argument set to true. If it is for a temporary reason, for example a network failure, the Client should terminate transfer in with the Remove argument set to false, and call the routine again later.
Return Values
MH_RC_FEATURE_UNAVAILABLE
OM_NETWORK_ERROR
MH_RC_NOT_RESERVED
OM_SUCCESS
OM_SYSTEM_ERROR
MH_RC_WRONG_CLASS
Plus errors returned from:
om_instance
Examples
This example shows both the Start Transfer In and Finish Transfer In calls.
om_status = mt_start_transfer_in (session,
&transferred_object,
&object_id);
/∗
∗∗ finish transfer in and remove object from input queue
∗/
om_status = mt_finish_transfer_in (session,
transferred_object,
OM_TRUE);