background image
Tech Note #44: Using Executable Programs
©
1998 Bionic Buffalo Corporation; All Rights Reserved.
              1 October 1998
http://www.tatanka.com
Page 
4 of 4
 
the 
 
send_deferred
 operation of the 
 
CORBA::Request
 object allows any local or remote
operation on a CORBA object to be performed asynchronously: the 
 
send_deferred
operation returns immediately, and the result is retrieved later
 
the 
 
DSM::Config::DeferredSync
 attribute defined by DSM-CC can be used to switch between
synchronous and asynchronous behaviour for those operations which are defined to return
 
void
In these cases, the libraries support asynchronous invocation explicitly.
The application libraries support timeouts for synchronous calls. The caller can specify a limit,
after which the operation will fail. This avoids the necessity of writing separate threads to
prevent an application from blocking indefinitely if a return message should fail to arrive in a
timely manner.
Implementation Limits
There are few practical implementation limits aside from those of the underlying platforms. We
do not constrain the number of outstanding requests or other parameters, although the user may
set limits on some values in order to avoid the pathological behaviour of certain operating
systems under stress.
Embedded Systems
There are a great number of embedded environments, including numerous operating systems
and hardware platforms. Bionic Buffalo cannot support these directly with executable code.
That is one reason we offer porting kits, which can be rehosted to different machines.
Users wishing to host our software on embedded systems (or on other platforms which we do
not support directly with executables) have two choices:
 
the customer may license a porting kit, and host (or have us host) the product on the target
environment; or
 
the customer may find a third party who has already hosted the product on the desired
environment, and may license an object-code version from the third party  (The third party
must have an appropriate license agreement with Bionic Buffalo to allow this.)
In the future, we plan to support executable code on one or more public-domain embedded
platforms. However,  we do not currently offer this option.