next up previous contents index
Weiter: E.1.5 Normal Library Hinauf: E.1 Kategorisierung von Zurück: E.1.3 Remote Types

E.1.4 Remote Call Interface Library Units

Das sind jene Einheiten einer Partition, die mit Remote Procedure Calls von einer anderen Partition aus aufgerufen werden können. Dabei befindet sich der Body in genau einer Partition. Die Spezifikation befindet sich in allen jenen Partitionen, die eine Einheit beinhalten, die sich auf diese Einheit beziehen; statt des Body's hält sich dort aber nur ein Body Stub auf. Dieser besteht aus den notwendigen Aufrufen, um einen RPC (Remote Procedure Call) auszuführen.

Es gibt sowohl synchrone RPCs als auch asynchrone RPCs. Bei synchronen RPCs wartet der Rufer, bis das Resultat der Berechnung von der anderen Partition eintrifft. Bei asynchronen RPCs setzt der Rufer nach Absetzen des RPC's seine Arbeit fort, ohne auf das Resultat zu warten. Klarerweise dürfen nur Prozeduren, die ausschließlich In-Parameter besitzen, asynchrone RPCs sein. Die Asynchronität einer solchen Prozedur wird mit dem Pragma Asynchronous(Name) festgelegt.

Tritt während eines RPC's eine Exception auf, wird sie im synchronen Fall an den Rufer weitergereicht, im asynchronen geht sie schlichtweg verloren.

Das zugehörige Pragma lautet pragma Remote_Call_Interface(Name).



Johann Blieberger
Wed Feb 11 09:58:52 MET 1998