📄 rfc2188.txt
字号:
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 + -