BMIP request processor
Each OSA can control how the implementation of BMIP
requests is actually performed. This is performed by informing the
Server API about an OSAs request processor.
NOTE:
The implementation of a
request processor is optional, and should only be done if
the OSA needs some special functionality such as
synchronization, advanced scoping or first pass validation.
By providing a request processor, the OSA is taking
over control of processing the BMIP requests from the
Server API. In the very least this entails:
-
running a filter via
OFEvaluateFilter(3tlib)
on the object instance(s).
-
executing the specified operation on the object instance(s) via
OFEvaluateOperation(3tlib).
-
returning a BMIP response to the client via
OFReturnBmipResponse(3tlib).
See
``Example request processors''
for both Tcl and C/C++ implementations.
The request processor is the only place
an OSA class can implement advanced scoping
or synchronization. In addition to the minimal
operation set, these features can be added:
By passing the request processor address/handle to the
OFBinding(3tlib)
procedure, the Server API is informed that the routine
should do the scheduling of calling OSA functions rather
than the Server API. Otherwise a NULL (C/C++)
or lack of argument (Tcl) should be passed, indicating that
the Server API should perform the scheduling.
Next topic:
Synchronization
Previous topic:
Helper procedures
© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 03 June 2005