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

📄 rfc2371.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   connection.11. Commands and Responses   All commands and responses consist of one line of ASCII text, using   only octets with values in the range 32 through 126 inclusive,   followed by either a CR (an octet with value 13) or an LR (an octet   with value 10).  Each line can be split up into one or more "words",   where successive words are separated by one or more space octets   (value 32).   Arbitrary numbers of spaces at the beginning and/or end of each line   are allowed, and ignored.   Lines that are empty, or consist entirely of spaces are ignored.   (One implication of this is that you can terminate lines with both a   CR and an LF if desired; the LF will be treated as terminating an   empty line, and ignored.)   In all cases, the first word of each line indicates the type of   command or response; all defined commands and responses consist of   upper-case letters only.   For some commands and responses, subsequent words convey parameters   for the command or response; each command and response takes a fixed   number of parameters.   All words on a command or response line after (and including) the   first undefined word are totally ignored. These can be used to pass   human-readable information for debugging or other purposes.Lyon, et. al.               Standards Track                    [Page 12]RFC 2371                    TIP Version 3.0                    July 199812. Command Pipelining   In order to reduce communication latency and improve efficiency, it   is possible for multiple TIP "lines" (commands or responses) to be   pipelined (concatenated) together and sent as a single message.   Lines may also be sent "ahead" (by the secondary, for later procesing   by the primary). Examples are an ABORT command immediately followed   by a BEGIN command, or a COMMITTED response immediately followed by a   PULL command.   The sending of pipelined lines is an implementation option. Likewise   which lines are pipelined together. Generally, it must be certain   that the pipelined line will be valid for the state of the connection   at the time it is processed by the receiver. It is the responsibility   of the sender to determine this.   All implementations must support the receipt of pipelined lines - the   rules for processing of which are described by the following   paragraph:     When the connection state is such that a line should be read     (either command or response), then that line (when received) is     processed. No more lines are read from the connection until     processing again reaches such a state. If a line is received on a     connection when it is not the turn of the other party to send, that     line is _not_ rejected. Instead, the line is held and processed     when the connection state again requires it. The receiving party     must process lines and issue responses in the order of lines     received. If a line causes an error the connection enters the Error     state, and all subsequent lines on the connection are discarded.13. TIP Commands   Commands pertain either to connections or transactions. Commands   which pertain to connections are: IDENTIFY, MULTIPLEX and TLS.   Commands which pertain to transactions are: ABORT, BEGIN, COMMIT,   PREPARE, PULL, PUSH, QUERY, and RECONNECT.   Following is a list of all valid commands, and all possible responses   to each:   ABORT     This command is valid in the Begun, Enlisted, and Prepared states.     It informs the secondary that the current transaction of the     connection will abort. Possible responses are:Lyon, et. al.               Standards Track                    [Page 13]RFC 2371                    TIP Version 3.0                    July 1998     ABORTED       The transaction has aborted; the connection enters Idle state.     ERROR       The command was issued in the wrong state, or was malformed.  The       connection enters the Error state.   BEGIN     This command is valid only in the Idle state. It asks the secondary     to create a new transaction and associate it with the connection.     The newly created transaction will be completed with a one-phase     protocol. Possible responses are:     BEGUN <transaction identifier>       A new transaction has been successfully begun, and that       transaction is now the current transaction of the connection.       The connection enters Begun state.     NOTBEGUN       A new transaction could not be begun; the connection remains in       Idle state.     ERROR       The command was issued in the wrong state, or was malformed.  The       connection enters the Error state.   COMMIT     This command is valid in the Begun, Enlisted or Prepared states.     In the Begun or Enlisted state, it asks the secondary to attempt to     commit the transaction; in the Prepared state, it informs the     secondary that the transaction has committed. Note that in the     Enlisted state this command represents a one-phase protocol, and     should only be done when the sender has 1) no local recoverable     resources involved in the transaction, and 2) only one subordinate     (the sender will not be involved in any transaction recovery     process). Possible responses are:     ABORTED       This response is possible only from the Begun and Enlisted       states. It indicates that some party has vetoed the commitment of       the transaction, so it has been aborted instead of committing.       The connection enters the Idle state.Lyon, et. al.               Standards Track                    [Page 14]RFC 2371                    TIP Version 3.0                    July 1998     COMMITTED       This response indicates that the transaction has been committed,       and that the primary no longer has any responsibilities to the       secondary with respect to the transaction. The connection enters       the Idle state.     ERROR       The command was issued in the wrong state, or was malformed.  The       connection enters the Error state.   ERROR     This command is valid in any state; it informs the secondary that a     previous response was not recognized or was badly formed.  A     secondary should not respond to this command. The connection enters     Error state.   IDENTIFY  <lowest protocol version>             <highest protocol version>             <primary transaction manager address> | "-"             <secondary transaction manager address>     This command is valid only in the Initial state. The primary party     informs the secondary party of: 1) the lowest and highest protocol     version supported (all versions between the lowest and highest must     be supported; 2) optionally, an identifier for the primary party at     which the secondary party can re-establish a connection if ever     needed (the primary transaction manager address); and 3) an     identifier which may be used by intermediate proxy servers to     connect to the required TIP transaction manager (the secondary     transaction manager address). If a primary transaction manager     address is not supplied, the secondary party will respond with     ABORTED or READONLY to any PREPARE commands.  Possible responses     are:     IDENTIFIED <protocol version>       The secondary party has been successfully contacted and has saved       the primary transaction manager address. The response contains       the highest protocol version supported by the secondary party.       All future communication is assumed to take place using the       smaller of the protocol versions in the IDENTIFY command and the       IDENTIFIED response. The connection enters the Idle state.     NEEDTLS       The secondary party is only willing to communicate over TLS       secured connections. The connection enters the Tls state, and all       subsequent communication is as defined by the TLS protocol. This       protocol will begin with the first octet after the lineLyon, et. al.               Standards Track                    [Page 15]RFC 2371                    TIP Version 3.0                    July 1998       terminator of the IDENTIFY command (for data sent by the primary       party), and the first byte after the line terminator of the       NEEDTLS response (for data sent by the secondary party). This       implies that an implementation must not send both a CR and a LF       octet after either the IDENTIFY command or the NEEDTLS response,       lest the LF octet be mistaken for the first byte of the TLS       protocol. The connection provided by the TLS protocol starts out       in the Initial state.  After TLS has been negotiated, the primary       party must resend the IDENTIFY command. If the primary party       cannot support (or refuses to use) the TLS protocol, it closes       the connection.     ERROR       The command was issued in the wrong state, or was malformed.       This response also occurs if the secondary party does not support       any version of the protocol in the range supported by the primary       party. The connection enters the Error state. The primary party       should close the connection.   MULTIPLEX  <protocol-identifier>     This command is only valid in the Idle state. The command seeks     agreement to use the connection for a multiplexing protocol that     will supply a large number of connections on the existing     connection. The primary suggests a particular multiplexing     protocol. The secondary party can either accept or reject use of     this protocol.     At the present, the only defined protocol identifier is "TMP2.0",     which refers to the TIP Multiplexing Protocol, version 2.0. See     Appendix A for details of this protocol. Other protocol identifiers     may be defined in the future.     If the MULTIPLEX command is accepted, the specified multiplexing     protocol will totally control the underlying connection. This     protocol will begin with the first octet after the line terminator     of the MULTIPLEX command (for data sent by the initiator), and the     first byte after the line terminator of the MULTIPLEXING response     (for data received by the initiator). This implies that an     implementation must not send both a CR and a LF octet after either     the MULTIPLEX command or the MULTIPLEXING response, lest the LF     octet be mistaken for the first byte of the multiplexing protocol.     Note that when using TMP V2.0, a single TIP command (TMP     application message) must be wholly contained within a single TMP     packet (the TMP PUSH flag is not used by TIP). Possible responses     to the MULTIPLEX command are:Lyon, et. al.               Standards Track                    [Page 16]RFC 2371                    TIP Version 3.0                    July 1998     MULTIPLEXING       The secondary party agrees to use the specified multiplexing       protocol. The connection enters the Multiplexing state, and all       subsequent communication is as defined by that protocol.  All       connections created by the multiplexing protocol start out in the       Idle state.     CANTMULTIPLEX       The secondary party cannot support (or refuses to use) the       specified multiplexing protocol. The connection remains in the       Idle state.     ERROR       The command was issued in the wrong state, or was malformed.  The       connection enters the Error state.   PREPARE     This command is valid only in the Enlisted state; it requests the     secondary to prepare the transaction for commitment (phase one of     two-phase commit). Possible responses are:     PREPARED       The subordinate has prepared the transaction; the connection       enters PREPARED state.     ABORTED       The subordinate has vetoed committing the transaction. The       connection enters the Idle state.  After this response, the       superior has no responsibilities to the subordinate with respect       to the transaction.     READONLY       The subordinate no longer cares whether the transaction commits       or aborts. The connection enters the Idle state. After this       response, the superior has no responsibilities to the subordinate       with respect to the transaction.     ERROR       The command was issued in the wrong state, or was malformed.  The       connection enters the Error state.   PULL  <superior's transaction identifier>         <subordinate's transaction identifier>     This command is only valid in Idle state. This command seeks to     establish a superior/subordinate relationship in a transaction,     with the primary party of the connection as the subordinate (i.e.,Lyon, et. al.               Standards Track                    [Page 17]RFC 2371                    TIP Version 3.0                    July 1998

⌨️ 快捷键说明

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