PEPmodel documentation PEPmodel HTTP

Interface

Objectives

Custom interface needs, like those for RemoteControl, would be very difficult to accomodate without a negotiation scheme like IUnknown in DComm. Clients and servers may hard-wire this kind of extension, while still providing a rich enough interface to support dynamic extensions. This sequence document shows a sequential view of an inclusive interface.

Callbacks

Because PEP extensions vary, the extensions must be able to be called many times during the processing of a message. The same interface functions are called but a state parameter is passed to distinguish callbacks made during the different states:

PEP model extensions have a consistent interface as described in the PEPExtension module. A description of the calling context is shown in the Annotated Stack Trace.

Language independence

Some effort was made to keep the interface between the pep library and the extensions language-independent. For instance, PEPAgent.makeInstance's call to checkExtension.makeInstance could have been done more expeditiously by passing a Vector or Enumeration, but these types don't have clear analogs in standard C. This restriction is intended to make code transliteration or inter-language interfaces easier.


Eric Prud'hommeaux, eric@w3.org,
@(#) $Id: Interface.html,v 1.2 1997/08/03 00:38:57 eric Exp $