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

📄 rfc2188.txt

📁 <VC++网络游戏建摸与实现>源代码
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   Provider |       ESROS       |  |       ESROS       |    Provider             -------------------    -------------------                       |                      |                       |                      |                       |                      |             -------------------    -------------------            |    UDP           |   |   UDP             |             -------------------    -------------------                     _                    _/                       _                _/                         _    .       _/                           _ . .* . _/                             . * .* .                               * . *                    Figure 1:  ES Remote Operation ModelBanan, et. al                Informational                      [Page 7]RFC 2188                          ESRO                    September 1997                  Invoker        Performer                 ESRO SAP         ESRO SAP                       |               |                       |               |   ESROS-INVOKE.req.   |               | ESROS-INVOKE.ind.   -------->-----------|               |-------->---------                       |               |   ESROS-INVOKE-P.conf.|               |   --------<-----------|               |                       |               |                       |               |                       |               |   ESROS-RESULT.ind.   |               | ESROS-RESULT.req.   --------<-----------|               |--------<---------                       |               |                       |               | ESROS-RESULT.conf.                       |               |-------->---------                       |               |                       |               |   ESROS-ERROR.ind.    |               | ESROS-ERROR.req.   --------<-----------|               |--------<---------                       |               |                       |               | ESROS-ERROR.conf.                       |               |-------->---------                       |               |                       |               |                       |               |                       |               |   ESROS-FAILURE.ind.  |               | ESROS-FAILURE.ind.   --------<-----------|               |-------->---------                       |               |             Figure 2:  Time sequence diagram for ESRO services2  ESRO SERVICE DEFINITIONS   ESRO service primitives are illustrated in Figure 2, Table 1 and   Table 2.  The description of services and primitives comes in the   following sections.   ESROS-User accesses ESRO services through Efficient Short Remote   Operations Service Access Point (ESRO-SAP) as shown in Figure 2.   The RESULT.request, ERROR.request and FAILURE.indication service   primitives can be implemented in two different modes:Banan, et. al                Informational                      [Page 8]RFC 2188                          ESRO                    September 1997    1. Acknowledged Result, and    2. Non-Acknowledged Result                 _____________________________________________                 | ESRO Service   |Type                      |                 |________________|__________________________|                 | ESROS-INVOKE   |Non-confirmed             |                 | ESROS-INVOKE-P |Provider-initiated        |                 | ESROS-RESULT   |Confirmed / Non-confirmed |                 | ESROS-ERROR    |Confirmed / Non-confirmed |                 | ESROS-FAILURE  |Provider initiated        |                 |________________|__________________________|                           Table 1:  ESRO Services   as described below.  The difference between different modes is in   their reliability of service and efficiency.  Reliability of service   is defined based on the understanding of invoker and performer about   the success or failure of the operation on the peer side.  Table 3   and Table 4 summarize understanding of performer about success or   failure on invoker side in different situations.  In these tables the   FAILURE.indication refers to the primitive generated by protocol and   not the failure of local provider.2.1  Acknowledged Result Service Mode   In this service mode, the result is acknowledged by invoker, but the   mechanism by which the acknowledgment is accomplished may not be   reliable.  Table 3 summarizes the relationship between performer and   invoker in success and failure cases.2.1.1  Performer side   In this type of service, the RESULT.confirm and ERROR.confirm   primitives on performer side are generated if the result/error is   acknowledged by invoker.   The FAILURE.indication on performer side is generated if result/error   is not acknowledged by invoker or if there is a local failure on   performer side.   >From the protocol point of view, the FAILURE.indication might be   because either the result/error PDU or the ack PDU is lost.  The   outcome of this is that a FAILURE.indication is not robust as the   operation may have been successful from the invoker's perspective.   One method of compensating for this shortcoming is having the   performer verify the FAILURE.indication in a separate operation.Banan, et. al                Informational                      [Page 9]RFC 2188                          ESRO                    September 1997   ____________________________________________________________   | Primitive                |Parameters                     |   |--------------------------+-------------------------------|   |                          |Operation-value                |   |                          |Performer-address              |   | ESROS-INVOKE.request     |Invoke-argument-encoding-type  |   |                          |Invoke-argument                |   |--------------------------+-------------------------------|   |                          |Operation-value                |   |                          |Invoker-address                |   | ESROS-INVOKE.indication  |Invoke-argument-encoding-type  |   |                          |Invoke-argument                |   |                          |Invoke-ID                      |   |--------------------------+-------------------------------|   | ESROS-INVOKE-P.confirm   |Invoke-ID                      |   |==========================================================|   |                          |                               |   |                          |Result-argument-encoding-type  |   | ESROS-RESULT.request     |Result-argument                |   |                          |Invoke-ID                      |   |--------------------------+-------------------------------|   |                          |Result-argument-encoding-type  |   | ESROS-RESULT.indication  |Result-argument                |   |                          |Invoke-ID                      |   |--------------------------+-------------------------------|   | ESROS-RESULT.confirm     |Invoke-ID                      |   |==========================================================|   |                          |                               |   |                          |Error-value                    |   |                          |Error-argument-encoding-type   |   | ESROS-ERROR.request      |Error-argument                 |   |--------------------------+-------------------------------|   |                          |Error-value                    |   |                          |Error-argument-encoding-type   |   | ESROS-ERROR.indication   |Error-argument                 |   |                          |Invoke-ID                      |   |--------------------------+-------------------------------|   | ESROS-ERROR.confirm      |Invoke-ID                      |   |==========================================================|   |                          |                               |   |                          |Failure-value                  |   | ESROS-FAILURE.indication |Invoke-ID                      |   |__________________________|_______________________________|    Table 2:  ESRO service primitives and associated parametersBanan, et. al                Informational                     [Page 10]RFC 2188                          ESRO                    September 1997   ______________________________________________________________   |Service Mode        |Performer          |Invoker            |   |--------------------+-------------------+-------------------|   |Acknowledged Result |RESULT.confirm     |RESULT.indication  |   |                    |-------------------+-------------------|   |                    |FAILURE.indication |RESULT.indication  |   |                    | (protocol)        |                   |   |                    |-------------------+-------------------|   |                    |FAILURE.indication |FAILURE.indication |   |                    | (protocol)        | (protocol)        |   |____________________|___________________|___________________|    Table 3:  Success and Failure in Acknowledged Result Mode   __________________________________________________________________   |Service Mode            |Performer           |Invoker            |   |------------------------+--------------------+-------------------|   |Non-acknowledged Result |RESULT.confirm      |RESULT.indication  |   |                        +--------------------+-------------------|   |                        |RESULT.confirm      |FAILURE.indication |   |                        |                    | (protocol)        |   |                        +--------------------+-------------------|   |                        |FAILURE.indication  |                   |   |                        |(protocol)          |                   |   |                        |does not            |---                |   |                        |exist               |                   |   |________________________|____________________|___________________|    Table 4:  Success and Failure in Non-acknowledged Result Mode2.1.2  Invoker side   When invoker receives failure indication, the performer has the   failure indication too.   This type of service can be implemented by protocols based on 3-Way   handshaking.2.2  Non-acknowledged Result   In this service mode the result is not acknowledged.  Table 4   summarizes the relationship between performer and invoker in success   and failure cases.Banan, et. al                Informational                     [Page 11]RFC 2188                          ESRO                    September 19972.2.1  Performer side   In this type of service, the RESULT.confirm and ERROR.confirm   primitives on performer side are generated without receiving   additional information from the invoker peer.  In other words, these   Primitives have no protocol-related meaning and convey no   information, other than end-of-operation.   The FAILURE.indication on performer side is not generated by   protocol.  The only case that can generate FAILURE.indication on   performer side is local failure in service provider on performer   side.2.2.2  Invoker side   The FAILURE.indication on invoker side can be the resultof not   receiving result/error/failure from peer performer or it can result   from failure in local service provider.   This type of service can be implemented by protocols based on 2-Way   handshaking.2.3  Serialized Use of ESRO Services   Although the ESRO Services are defined to support asynchronous   operation invocation in general, they can be used in the special case   of synchronous (serialized) mode too.  The serialized use of ESRO   Services is implementation specific.  However, one of the possible   scenarios is as follows:2.3.1  Invoker   Invokes an operation after it receives either RESULT.indication,   ERROR.indication, or FAILURE.indication for the previous operation.2.3.2  Performer   Considers an operation to be complete and accepts the next operation   after it receives RESULT.confirm, ERROR.confirm, or   FAILURE.indication.Banan, et. al                Informational                     [Page 12]RFC 2188                          ESRO                    September 1997                  Invoker        Performer                 ESROS AP         ESROS AP                       |               |                       |               |   ESROS-INVOKE.req.   |               | ESROS-INVOKE.ind.   -------->-----------|               |-------->---------                       |               |   ESROS-INVOKE-P.conf.|               |   --------<-----------|               |                       |               |   ESROS-FAILURE.ind.  |               |   --------<-----------|               |                       |               |   Figure 3:  Time sequence diagram for ESROS-INVOKE service2.4  ESROS-INVOKE Service

⌨️ 快捷键说明

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