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

📄 rfc2188.txt

📁 <VC++网络游戏建摸与实现>源代码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
2.6.3  Error-argument   This parameter provides additional information about the error in   reply to a previous ESROS-INVOKE.indication in the case of an   unsuccessfully performed operation.  The type (if any) has to be   agreed between the ESROS users.  This parameter has to be supplied by   the ESROS Performer User.  Encoding type of the Error-argument is   specified through the Error-argument-encoding-type parameter (see   previous subsection).Banan, et. al                Informational                     [Page 19]RFC 2188                          ESRO                    September 1997                  Invoker        Performer                 ESROS AP         ESROS AP                       |               |                       |               |   ESROS-FAILURE.ind.  |               |   --------<-----------|               |                       |               |                       |               | ESROS-FAILURE.ind.                       |               |--------->---------                       |               |   Figure 6:  Time sequence diagram for ESROS-FAILURE service   ESROS Performer User provides the Error-argument parameter for the   ESROS-ERROR.request primitive.  The Error-argument parameter of   ESROS-ERROR.indication is provided to the ESROS Invoker User.2.6.4  Invoke-ID   This parameter identifies the corresponding invocation.  This   Invoke-ID, which is originally generated by the ESROS provider at the   time of the ESROS-INVOKE.indication, is extracted from the Invoke ID   which has to be supplied by the ESROS performer User.  The value is   that of the corresponding ESROS-INVOKE.indication primitive.2.6.5  Failure-value   This parameter identifies the failure that occurred during the   processing or transmission of any of the service primitives of ESROS.   This parameter has to be supplied by the ESROS provider (see also   Section 2.7).2.7  ESROS-FAILURE Service   The ESROS-FAILURE service is used by ESROS provider to indicate the   failure in providing an ESROS-INVOKE, ESROS-RESULT, or ESROS-ERROR   service.   The related service structure consists of one service primitive as   illustrated in Figure 6 and Table 8.Banan, et. al                Informational                     [Page 20]RFC 2188                          ESRO                    September 1997          _____________________________________________          | Primitive                |Parameters       |          |__________________________|_________________|          |                          |Failure-value    |          | ESROS-FAILURE.indication |Invoke-ID        |          |__________________________|_________________|   Table 8:  ESROS-FAILURE service primitives and associated parameters          _________________________________________          | Failure Value |Meaning                 |          |_______________|________________________|          | 0             |Transmission failure    |          | 1             |Out of local resources  |          | 2             |User not responding     |          | 3             |Out of remote resources |          | 4             |Reassembly failure      |          |_______________|________________________|             Table 9:  Encoding of Failure-value2.7.1  Failure-value   This parameter identifies the failure that occurred during the   processing or transmission of any of the service primitives of ESROS.   This parameter has to be supplied by the ESROS provider.   The values for encoding of Failure-value are presented in Table 9.2.7.2  Invoke-ID   This parameter identifies the corresponding invocation.  This   Invoke-ID, which is originally generated by ESROS provider at the   time of the ESROS-INVOKE.indication, is extracted from the Invoke ID   which has to be supplied by ESROS performer User.  The value is that   of the corresponding ESROS-INVOKE.indication primitive.3  ESRO SERVICE NOTATION   Users of ESRO services (invoker and performer) need to agree on a   well defined set of parameters which are enumerated below.    1. The operation's Argument data type.Banan, et. al                Informational                     [Page 21]RFC 2188                          ESRO                    September 1997    2. The operation's Result data type.    3. The operation's Error data type.    4. The operation's value.  A specific tag which uniquely identifies        the operation.   The invoker and the performer can specify these parameters using a   variety of mechanisms.  The notation specified in this section is one   such mechanism.  It is not the only machanism and ESRO protocol can   be used independent of this notation.3.1  ES-OPERATION Notation   The Remote Operations and Operation Errors are specified in this   section.  The notation is defined by means of the macro facility   defined in [3].   The macros enabling the specification of operations and errors are   listed in Figure 7.   Note that this notation is very similar to the abstract operation   defined in [1].  The value form of ES-OPERATION is always an integer.3.2  Mapping of ESROS Notation3.2.1  Invocation of an Operation   An operation is mapped onto the ESRO Services.   The invocation of an operation is mapped on the ESRO-INVOKE service.   The value assigned to the operation is mapped on the Operation-value   parameter of that service.  The value of the Named-Type in the   ARGUMENT clause of the OPERATION Macro is mapped on the Argument   parameter of that service.3.2.2  Reply of an Operation   If an operation was successfully performed, the reply is mapped on   the ESRO-RESULT service.   The value of the Named-Type in the RESULT clause of the OPERATION   DEFINITIONS ::=   BEGIN     ES-OPERATION, ERROR;     -- macro definition for operationsBanan, et. al                Informational                     [Page 22]RFC 2188                          ESRO                    September 1997     ES-OPERATION MACRO ::=     BEGIN           TYPE NOTATION   ::=     Argument Result Errors           VALUE NOTATION  ::=     value (localValue INTEGER)           Argument        ::=     "ARGUMENT" NamedType | empty           Result          ::=     "RESULT" ResultType | empty           ResultType      ::=     NamedType | empty           Errors          ::=     "ERRORS" "{"ErrorNames"}" | empty           ErrorNames      ::=     ErrorList | empty           ErrorList       ::=     Error | ErrorList "," Error           Error           ::=     value (ERROR) | type           NamedType       ::=     identifier type | type     END     -- macro definition for operations errors     ERROR MACRO   ::=     BEGIN           TYPE NOTATION   ::=     Parameter           VALUE NOTATION  ::=     value (localValue INTEGER)           Parameter       ::=     "PARAMETER" NamedType | empty           NamedType       ::=     identifier type | type     END   END            Figure 7:  ES Remote Operation Notation   macro is mapped on the Result parameter of that service.   If an operation was not successfully performed, the reply is mapped   on the ESRO-ERROR service.   In this case one of the errors in the Identifier List of Error Names   in the ERROR clause of the OPERATION macro may be applied.  The value   assigned to the applied error is mapped onto the Error parameter of   that service.  The value of the Named-Type in the PARAMETER clause of   the ERROR macro of the applied error is mapped on the Error-   parameter of that service.4  REMOTE OPERATIONS PROTOCOL4.1  Overview of the Protocol   The ESROS protocol realizes the services defined in the section   entitled ESROS Service Definitions.  Short operations are performed   in a highly efficient manner.  The protocol operation is summarized   below and is described in detail in the following sections.Banan, et. al                Informational                     [Page 23]RFC 2188                          ESRO                    September 1997   Two Functional Units are defined which realize the services with 2-   Way handshake and 3-Way handshake, called 2-Way Handshake Functional   Unit and 3-Way Handshake Functional Unit respectively.   The procedures specified in this section refer to Protocol Data Units   (PDUs) which are defined in Section 4.4.4.1.1  Service Provision (Invoker User)      o An ESROS user binds to an ESRO Service Access Point (SAP) and        specifies whether 3-Way or 2-Way handshake Functional Unit is to        be associated with the SAP.      o An ESROS user initiates the transfer of a PDU using the INVOKE        service.      o On receipt of an ESROS-INVOKE.request service primitive from the        ESROS user:            -- The ESROS provider generates an Invoke ID,            -- Communicates the Invoke-ID to the invoker of the service                   through the ESROS-INVOKE-P.confirm primitive,4.1.2  Service Provision (Performer User)      o An ESROS user binds to an ESRO Service Access Point (SAP) and        specifies whether 3-Way or 2-Way handshake Functional Unit is to        be associated with the SAP.      o On receipt of an ESRO-INVOKE-PDU, the ESROS provider issues an        ESROS-INVOKE.indication to the ESROS performer user.      o On receipt of ESROS-RESULT.request or ESROS-ERROR.request from        the performer, the provider creates the ESRO-RESULT-PDU or        ESRO-ERROR-PDU.      o In the case that the provider receives an ESRO-ACK-PDU for the        transmitted ESRO-RESULT-PDU or ESRO-ERROR-PDU, if the        corresponding SAP is associated with the 3-Way Handshake        Functional Unit, it passes an ESROS-RESULT.confirm or ESROS-        ERROR.confirm to the performer user.  If the corresponding SAP        is associated with the 2-Way handshake Functional Unit, the        ESRO-ACK-PDU is dropped as an invalid PDU.      o In the case that the provider is not able to deliver the        ESRO-RESULT-PDU or ESRO-ERROR-PDU, it issues an ESROS-        FAILURE.indication to the performer user.  In the case that theBanan, et. al                Informational                     [Page 24]RFC 2188                          ESRO                    September 1997        performer's SAP is associated with the 3-Way handshake        Functional Unit and provider doesn't receive the ESRO-ACK-PDU        for a transmitted ESRO-RESULT-PDU or an ESRO-ERROR-PDU, it        passes an ESROS- FAILURE.indication to the performer user.      o In the case that the performer's SAP is associated with the        3-Way handshake Functional Unit and provider receives an ESRO-        ACK-PDU for the operation, it passes an ESROS-RESULT.confirm or        ESROS-ERROR.confirm.  In the case that the performer's SAP is        associated with a 2-Way handshake Functional Unit and provider        doesn't receive duplicate ESROS-INVOKE-PDUs from the invoker, it        passes an ESROS-RESULT.confirm or ESROS-ERROR.confirm.      o On receipt of an ESRO-FAILURE-PDU, the ESROS provider issues an        ESROS-FAILURE.indication to the ESROS performer user.4.2  Protocol Procedures4.2.1  Service Access Point (SAP) Bind Procedure   To access the ESRO Services, an ESROS user binds to an ESRO Service   Access Point and specifies the SAP to be associated with 3-Way   handshake Functional Unit or 2-Way handshake Functional Unit.  ESROS   provider generates a SAP descriptor which is passed to the user.  The   handshaking for all Invoke.requests addressed to that SAP and all   PDUs addressed to that SAP will be either 3-Way or 2-Way based on the   Functional Unit associated with SAP and specified by user at SAP bind   time.   It is the responsibility of the ESROS peer users (invoker and   performer) to address their operations to the appropriate SAP (3-Way   or 2-Way) based on the agreement between users.4.2.2  Invoke Service Procedure   An ESROS user initiates the transfer of a PDU using the INVOKE   service.   On receipt of an ESRO-INVOKE-PDU, the ESROS provider sends an ESROS-   INVOKE.indication primitive to the ESROS performer user.4.2.3  Invoke ID Assignment Procedure   On receipt of an ESROS-INVOKE.request primitive from the ESROS user,   the ESROS provider generates two invoke identifiers:

⌨️ 快捷键说明

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