DEC Reliable Transaction Router ä (RTR) for VMS Application Programmer's Reference Manual

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      RTR Concepts

  1.1     The Purpose of RTR

  1.2     Requester and Server processes

  1.3     The Three Layer Model

  1.4     The Partitioned Data Model

  1.5     Transaction Integrity

  1.6     Broadcasts

  1.7     Reliability features
    1.7.1      Standby servers
    1.7.2      Shadow servers
    1.7.3      Router failover
    1.7.4      Cooperative Transaction Recovery
    1.7.5      Backend restart recovery
    1.7.6      Transaction message replay
    1.7.7      Link failure recovery

  1.8     Concurrent Servers

  1.9     Flexibility and Growth

  1.10    Failure scenarios
    1.10.1     Loss of a backend CPU
    1.10.2     Loss of a router CPU
    1.10.3     Loss of a communications link
    1.10.4     Loss of a frontend CPU

  1.11    RTR Facilities

  1.12    Call-out servers

  1.13    RTR Application Programming Interface

  2      RTR Applications

  2.1     Requester Processes
    2.1.1      Structure of a simple requester
    2.1.2      Receiving messages from the server
    2.1.3      An example of a simple requester

  2.2     Server processes
    2.2.1      Structure of a simple server
    2.2.2      Server design rules
    2.2.3      An example of a simple server

  3      The System Services Interface

  3.1     Synchronization

  3.2     Return status

  3.3     Committing Transactions and Voting

  3.4     Aborted transactions

  3.5     Partitioned Data Model

  3.6     RTR Facilities

  3.7     Call formats

  $ABORT_TX

  $ABORT_TXW

  $COMMIT_TX

  $COMMIT_TXW

  $DCL_TX_PRC

  $DCL_TX_PRCW

  $DEQ_TX

  $DEQ_TXW

  $ENQ_TX

  $ENQ_TXW

  $START_TX

  $VOTE_TX

  $VOTE_TXW

  3.8     System Service Return Codes

  4      RTR Run-Time Library

  4.1     Introduction
    4.1.1      Requester Routines
    4.1.2      Server Routines
    4.1.3      Common Routines for Requesters and Servers

  4.2     Restrictions

  4.3     Examples
    4.3.1      Requester Example
    4.3.2      Server Example
    4.3.3      Building the examples

  4.4     Descriptions of the RTR-RTL Routines

  RTR$ABORT_TRANSACTION

  RTR$COMMIT_TRANSACTION

  RTR$DECLARE_REQUESTER

  RTR$DECLARE_SERVER

  RTR$RECEIVE

  RTR$REJECT

  RTR$REPLY

  RTR$SEND

  RTR$SPECIFY_LOWER_BOUND

  RTR$SPECIFY_STATUS_VARIABLE

  RTR$SPECIFY_UPPER_BOUND

  RTR$START_TRANSACTION

  EXAMPLES

  2-1        Simple PASCAL requester

  2-2        Simple PASCAL server

  4-1        RTL requester

  4-2        RTL server

  FIGURES

  1-1        Requesters and servers

  1-2        The three layer model

  1-3        Partitioned data-model

  1-4        Standby servers

  1-5        Shadow servers

  TABLES

  3-1        Abort codes returned in RTR$L_TXSB_RSNSTS

  3-2        RTR$_DCL_FLAGS

  3-3        RTR$_TXSB

  3-4        RTR$_ACCESS

  3-5        RTR$_DATPAR_ELEM

  3-6        Routing Key Data-types

  3-7        RTR$_EVT

  3-8        RTR$_EVTMSK

  3-9        Event Numbers

  3-10       RTR$_ENQ_FLAGS

  3-11       RTR$_VOTE_FLAGS