📄 rfc2372.txt
字号:
RFC 2372 TIP Requirements and Supplemental Information July 1998 Invalid connection handle specified. [TIPTRUNCATED] Insufficient buffer size is specified for the local transaction identifier. [TIPNOTPULLED] Joining of the local transaction with the TIP transaction has failed. [TIPNOTCONNECTED] Caller has been disconnected from the TIP TM. [TIPINVALIDURL] Invalid URL has been supplied. [TIPTRANSIENT] Transient error occurred; retry the operation. [TIPERROR] An unexpected error occurred. 5) tip_pull_async() - create a local transaction and join it with the TIP transaction. Control is returned to the caller as soon as a local transaction is created. Synopsis int tip_pull_async ([in] tip_handle_t TM [in] char *pxid_url, [out] void *plocal_xid, [in] unsigned int xid_length) Parameters TM [in] The TIP gateway handle. pxid_url [in] Pointer to the TIP URL of the associated remote transaction. A TIP URL for a transaction takes the form: TIP://<host>[:<port>]/<transaction identifier> plocal_xid [out] Pointer to the local transaction identifier. The structure of the transaction identifier is defined by the local transaction manager. xid_length [in] The size in bytes of the buffer for the local transaction identifier. Description tip_pull_async() creates a local transaction and joins the local transaction with the TIP transaction (the caller becomes a subordinate participant in the TIP transaction). The remote TIP TM is identified via the URL (*pxid_url). The local transaction identifier is returned. A call to tip_pull_async() returns immediately after the local transaction has been created (before the TIP PULL protocol command is sent). A subsequent call to tip_pull_complete() must be issued to checkEvans, et. al. Informational [Page 19]RFC 2372 TIP Requirements and Supplemental Information July 1998 for successful completion of the pull request. Return Values [TIPOK] The local transaction has been successfully created. [TIPINVALIDHANDLE] Invalid connection handle specified. [TIPNOTCONNECTED] User has been disconnected from the TIP TM. [TIPINVALIDURL] Invalid URL has been supplied. [TIPTRANSIENT] Transient error has occurred; retry the operation. [TIPTRUNCATED] Insufficient buffer size is specified for the local transaction identifier. [TIPERROR] An unexpected error occurred. 6) tip_pull_complete() - check whether a previous tip_pull_async() request has been successfully completed. Synopsis int tip_pull_complete ([in] tip_handle_t TM, [in] void *plocal_xid) Parameters TM [in] The TIP TM handle. plocal_xid [in] Pointer to the local transaction identifier. The structure of the transaction identifier is defined by the local transaction manager. Description tip_pull_complete() checks whether a previous call to tip_pull_async() has been successfully completed. i.e. whether the local transaction has been successfully joined with the TIP transaction. The caller supplies the local transaction identifier returned by the previous call to tip_pull_async(). Repeated calls to tip_pull_complete() for the same local transaction identifier are idempotent. Return Values [TIPOK] The local transaction has been successfully joined with the TIP transaction. [TIPINVALIDHANDLE] Invalid connection handle specified. [TIPINVALIDXID] An invalid transaction identifier has been provided. [TIPNOTPULLED] Joining of the local transaction with the TIP transactionEvans, et. al. Informational [Page 20]RFC 2372 TIP Requirements and Supplemental Information July 1998 has failed. The local transaction has been aborted. [TIPNOTCONNECTED] Caller has been disconnected from the TIP TM. [TIPERROR] An unexpected error occurred. 7) tip_xid_to_url() - return a TIP transaction identifier for a local transaction identifier. Synopsis int tip_xid_to_url ([in] tip_handle_t TM, [in] void *plocal_xid, [out] char *pxid_url, [in] unsigned int url_length) Parameters TM [in] The TIP TM handle. plocal_xid [in] Pointer to the local transaction identifier. The structure of the transaction identifier is defined by the local transaction manager. pxid_url [out] Pointer to the TIP URL of the local transaction. A TIP URL for a transaction takes the form: TIP://<host>[:<port>]/<transaction identifier> url_length [in] The size in bytes of the buffer for the TIP URL. Description tip_xid_to_url() returns a TIP transaction identifier for a local transaction identifier. The TIP transaction identifier can be passed to remote applications to enable them to do work on the transaction. e.g. to pull the local transaction to the remote node. If a local transaction identifier is not supplied, the caller's current transaction context is used. The constant TIPURLSIZE defines the size of a TIP transaction identifier in bytes. This value is implementation specific. Return Values [TIPOK] TIP transaction identifier has been returned. [TIPNOTCONNECTED] Caller has been disconnected from the TIP TM. [TIPNOCURRENTTX] Process is currently not associated with a transaction (and none was supplied). [TIPINVALIDXID] An invalid local transaction identifier has been supplied. [TIPTRUNCATED] Insufficient buffer size is specified for the TIPEvans, et. al. Informational [Page 21]RFC 2372 TIP Requirements and Supplemental Information July 1998 transaction identifier. [TIPERROR] An unexpected error occurred. 8) tip_url_to_xid() - return a local transaction identifier for a TIP transaction identifier. Synopsis int tip_url_to_xid ([in] tip_handle_t TM, [in] char *pxid_url, [out] void *plocal_xid, [in] unsigned int xid_length) Parameters TM [in] The TIP TM handle. pxid_url [in] Pointer to the TIP URL of the local transaction. A TIP URL for a transaction takes the form: TIP://<host>[:<port>]/<transaction identifier> plocal_xid [out] Pointer to the local transaction identifier. The structure of the transaction identifier is defined by the local transaction manager. xid_length [in] The size in bytes of the buffer for the local transaction identifier. Description tip_url_to_xid() returns a local transaction identifier for a TIP transaction identifier (note that the local transaction must have previously been created via a tip_push(), or tip_pull (or tip_pull_async()). The constant TIPXIDSIZE defines the size of a local transaction identifier in bytes. This value is implementation specific. Return Values [TIPOK] Local transaction identifier is returned. [TIPINVALIDURL] An invalid TIP transaction identifier has been provided. [TIPTRUNCATED] Insufficient buffer size is specified for the local transaction identifier. [TIPERROR] An unexpected error occurred.Evans, et. al. Informational [Page 22]RFC 2372 TIP Requirements and Supplemental Information July 19989) tip_get_tm_url() - get the name of the local TIP transaction manager in TIP URL form. Synopsis int tip_get_tm_url ([in] tip_handle_t TM, [out] char *tm_url, [in] int tm_len); Parameters TM[in] The TIP TM handle. tm_url [in] Pointer to the TIP URL of the local transaction manager. A TIP URL for a transaction manager takes the form: TIP://<host>[:<port>] tm_len [out] The size in bytes of the buffer for the TIP URL of the local transaction manager. Description tip_get_tm_url() gets the name of the local transaction manager in TIP URL form (i.e. TIP://<host>[:<port>]) Return Values [TIPOK] The name of the local transaction manager has been successfully returned. [TIPTRUNCATED] The name of the local transaction manager has been truncated due to insufficient buffer size. Retry the operation with larger buffer size.Evans, et. al. Informational [Page 23]RFC 2372 TIP Requirements and Supplemental Information July 1998Full Copyright Statement Copyright (C) The Internet Society (1998). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.Evans, et. al. Informational [Page 24]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -