-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/974/
-----------------------------------------------------------

(Updated 2011-06-30 13:09:14.957078)


Review request for shindig, johnfargo and Michael Hermanto.


Summary
-------

This change is to accommodate synchronous rpc handlers that may be registered 
with the common container via osapi.container.Container.prototype.rpcRegister.  
Per the documentation in rpc.js#process, an rpc handler should return a result 
value that will be included as part of a synchronous callback made by the rpc 
service.  If no result is provided it is assumed that the rpc handler will 
perform the callback.

Currently rpcRegister in the common container does not allow for the returning 
of any results, thus forcing the rpc handler to perform the callback even in 
synchronous cases.

For convenience, here is the documentation in rpc.js#process:
// If there is a callback for this service, attach a callback function
// to the rpc context object for asynchronous rpc services.
//
// Synchronous rpc request handlers should simply ignore it and return a
// value as usual.
// Asynchronous rpc request handlers, on the other hand, should pass its
// result to this callback function and not return a value on exit.
//
// For example, the following rpc handler passes the first parameter back
// to its rpc client with a one-second delay.
//
// function asyncRpcHandler(param) {
//   var me = this;
//   setTimeout(function() {
//     me.callback(param);
//   }, 1000);
// }


Diffs
-----

  
http://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/container/container.js
 1140140 

Diff: https://reviews.apache.org/r/974/diff


Testing
-------

Minimal testing performed.  We noticed this problem during some feature 
development in which a gadgets.rpc.call to the feature required a callback and 
the rpc handler in the container did not explicitly invoke the callback.  This 
change fixed that problem.


Thanks,

Stanton

Reply via email to