next up previous contents index
Next: Mandatory Methods Up: Guide to the Back-End Previous: Guide to the Back-End

Mandatory, Optional, and Other Operations

The first question the implementor of a new set of GFP methods should consider is: what methods must I implement? For several reasons, the programmer need not provide a new implementation of every GFP operation that is specific to the new FRS. One reason is that, as just mentioned, only some GFP operations are defined as generic functions for which methods can be implemented. Some GFP operations are defined as functions or macros -- in some cases because the operation can be implemented in a FRS-independent manner, and in some cases because the operation can be implemented very efficiently through calls to other GFP operations. The second reason is that for some of the GFP operations that are defined as generic functions, we supply default methods that implement that operation in terms of other GFP operations. The programmer may choose to override the default methods if their FRS provides a more efficient implementation of the operation than does the GFP default method.

This section divides the GFP operations into three classes:

  1. Mandatory Methods: Those operations that are implemented as generic functions, and for which a method definition must be given for every implementation of the GFP Protocol. The programmer who implements the GFP for a new FRS must provide definitions of these methods.
  2. Optional Methods: Those operations that are implemented as generic functions, for which a default definition is now supplied by the GFP. The programmer who implements the GFP for a new FRS may or may not choose to override the default definitions of these methods.
  3. Functions and Macros: Operations that are implemented as functions or macros. The programmer who implements the GFP for a new FRS is prohibited from providing methods that implement these operations.





  • Peter Karp