⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2372.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 4 页
字号:
RFC 2372     TIP Requirements and Supplemental Information     July 1998   5) Suitability for All Application Classes      The TIP protocol should be complete and robust enough not only for      electronic commerce on the web, but also for intranet applications      and for traditional TP applications spanning heterogenous      transaction manager environments. The protocol should be      performant and scaleable enough to meet the needs of low to very      high throughput applications.      a. the TIP protocol should support the concept of client-only         transaction participants (useful for ultra-lightweight         implementations on low-end platforms).      b. since some clients may be unreliable, TIP must provide support         for delegation of transaction coordination (to a more reliable         (trusted) node).      c. the TIP protocol must scale between 1 and n (> 1) concurrent         transactions per TCP connection.      d. TIP commands should be able to be concatenated (pipelined).      e. TIP should be compatible with the X/Open XA interface.   6) Security      The TIP protocol must be compatible with existing security      mechanisms, potentially including encryption, firewalls, and      authorization mechanisms (e.g. TLS may be used to authenticate the      sender of a TIP command, and for encryption of TIP commands).      Nothing in the protocol definition should prevent TIP working      within any security environment.   7) TIP Protocol Transport Independence      It would be beneficial to some applications to allow the TIP      protocol to flow over different transport protocols. The benefit      is when using different transport protocols for the application      data, the same transport can be used for the TIP 2PC protocol. TIP      must therefore not preclude use with other transport protocols.   8) Recovery      Recovery semantics need to be defined sufficiently to avoid      ambiguous results in the event of any type of communications      transport failure.Evans, et. al.               Informational                     [Page 13]RFC 2372     TIP Requirements and Supplemental Information     July 1998   9) Extensibility      The TIP protocol should be able to be extended, whilst maintaining      compatibility with previous versions.References   [1]  Lyon, J., Evans, K., and J. Klein, "The Transaction Internet        Protocol Version 3.0", RFC 2371, July 1998.   [2]  Transaction Processing: Concepts and Techniques.  Morgan        Kaufmann Publishers. (ISBN 1-55860-190-2).  J. Gray, A. Reuter.   [3]  X/Open CAE Specification, April 1995, Distributed Transaction        Processing: The TX Specification. (ISBN 1-85912-094-6).   [4]  X/Open Guide, November 1993, Distributed Transaction Processing:        Reference Model Version 2. (ISBN 1-85912-019-9).   [5]  X/Open CAE Specification, December 1991, Distributed Transaction        Processing: The XA Specification.  (ISBN 1-872630-24-3).   [6]  Dierks, T., et. al., "The TLS Protocol Version 1.0", Work in        Progress.Evans, et. al.               Informational                     [Page 14]RFC 2372     TIP Requirements and Supplemental Information     July 1998Authors' Addresses   Keith Evans   Tandem Computers Inc, LOC 252-30   5425 Stevens Creek Blvd   Santa Clara, CA 95051-7200, USA   Phone: +1 (408) 285 5314   Fax:   +1 (408) 285 5245   EMail: Keith.Evans@Tandem.Com   Johannes Klein   Tandem Computers Inc.   10555 Ridgeview Court   Cupertino, CA 95014-0789, USA   Phone: +1 (408) 285 0453   Fax:   +1 (408) 285 9818   EMail: Johannes.Klein@Tandem.Com   Jim Lyon   Microsoft Corporation   One Microsoft Way   Redmond, WA  98052-6399, USA   Phone: +1 (206) 936 0867   Fax:   +1 (206) 936 7329   EMail: JimLyon@Microsoft.ComComments   Please send comments on this document to the authors at   <JimLyon@Microsoft.Com>, <Keith.Evans@Tandem.Com>,   <Johannes.Klein@Tandem.Com>, or to the TIP mailing list at   <Tip@Tandem.Com>. You can subscribe to the TIP mailing list by   sending  mail to <Listserv@Lists.Tandem.Com> with the line   "subscribe tip <full name>" somewhere in the body of the message.Evans, et. al.               Informational                     [Page 15]RFC 2372     TIP Requirements and Supplemental Information     July 1998Appendix A. An Example TIP Transaction Manager Application Programming            Interface.   Note that this API is included solely for informational purposes, and   is not part of the formal TIP specification (TIP conformant   implementations are free to define alternative APIs).   1) tip_open() - establish a connection to a TIP TM.      Synopsis         int tip_open ([out] tip_handle_t *ptiptm)      Parameters         ptiptm [out]                 Pointer to the TIP TM handle.      Description         tip_open() establishes a connection to a TIP TM. The call         returns a handle which identifies the TIP TM. This function         must be called before any work can be performed on a TIP         transaction.      Return Values         [TIPOK]               Connection has been successfully established.         [TIPNOTCONNECTED]               User has been disconnected from the TIP TM.         [TIPNOTCONFIGURED]               TIP TM has not been configured.         [TIPTRANSIENT]               Too many openers; re-try the open.         [TIPERROR]               An unexpected error occurred.   2) tip_close() - close a connection to a TIP TM.      Synopsis         int tip_close([in] tip_handle_t handle)      Parameters         handle [in]                 The TIP TM handle.      Description         tip_close() closes a connection to a TIP TM. All outstanding         requests associated with that connection will be cancelled.      Return Values         [TIPOK]               Connection has been successfully closed.         [TIPINVALIDPARM]               Invalid connection handle specified.         [TIPERROR]               An unexpected error occurred.Evans, et. al.               Informational                     [Page 16]RFC 2372     TIP Requirements and Supplemental Information     July 1998   3) tip_push() - export a local transaction to a remote node and                   return a TIP transaction identifier for the                   associated remote transaction.      Synopsis         int tip_push ([in] tip_handle_t TM,                       [in] char *tm_url,                       [in] void *plocal_xid,                       [out] char *pxid_url,                       [in] unsigned int url_length)      Parameters         TM [in]                 The TIP TM handle.         tm_url [in]                 Pointer to the TIP URL of the remote transaction manager.                 A TIP URL for a transaction manager takes the form:                 TIP://<host>[:<port>]         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 associated remote                 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 remote                 transaction URL.      Description         tip_push() exports (pushes) a local transaction to a remote         node. If a local transaction identifier is not supplied, the         caller's current transaction context is used. The call returns         a TIP URL for the associated remote transaction. The TIP         transaction identifier may be passed on application requests to         the remote node (as part of a TIP URL). The receiving process         uses this information in order to do work on behalf of the         transaction.      Return Values         [TIPOK]               Transaction has been successfully pushed to the remote               node.         [TIPINVALIDXID]               An invalid transaction identifier has been provided.         [TIPNOCURRENTTX]               Process is currently not associated with a transaction               (and none was supplied).         [TIPINVALIDHANDLE]               Invalid connection handle specified.         [TIPNOTPUSHED]Evans, et. al.               Informational                     [Page 17]RFC 2372     TIP Requirements and Supplemental Information     July 1998               Transaction could not be pushed to the remote node.         [TIPNOTCONNECTED]               Caller has been disconnected from the TIP TM.         [TIPINVALIDURL]               Invalid endpoint URL is provided.         [TIPTRANSIENT]               Transient error occurred; re-try the operation.         [TIPTRUNCATED]               Insufficient buffer size is specified for the TIP               transaction identifier.         [TIPERROR]               An unexpected error occurred.   4) tip_pull() - create a local transaction and join it with the TIP                   transaction.      Synopsis         int tip_pull([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 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() 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. If a local transaction has already been         created for the TIP transaction identifier supplied, then         [TIPOK] is returned (with the local transaction identifier),         and no other action is taken.      Return Values         [TIPOK]               The local transaction has been successfully created               and joined with the TIP transaction.         [TIPINVALIDHANDLE]Evans, et. al.               Informational                     [Page 18]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -