[saga-core-wg] Grid RPC data management & SAGA

Andre Merzky andre at merzky.net
Tue Sep 22 05:50:14 CDT 2009


Quoting [Ga?l Le Mahec] (Sep 22 2009):
>
>> But I have a question, to help me understand: so far I had
>> the impression that rpc calls would, in the new model, also
>> accept a mixture of the old style parameters and the new
>> style data handles - is that the case?
> 
> Yes it is the case. We tried to preserve a maximum backward  
> compatibility and in the ideal implementation the Grid RPC call should  
> accept old style parameters as well as data handles.
> 
>> If yes, then we would need to change the parameters for the
>> rpc.call() method in a way that both are accepted.
> 
> A possible solution could be to modify the current  
> saga::rpc::parameter class to be an abstract class which is "derived"  
> into two different subclasses: the first one encapsulates a  
> saga::buffer and is similar to the current saga::rpc::parameter and  
> the second one implements the new data handle. But maybe there are  
> other ways to proceed (using an interface ?) avoiding to change too  
> deeply the current rpc::parameter class.

I think that this would be the cleanest solution.  

It may be useful to add some rudimentary means for
inspection to the abstract class, like get_type() which
would return an enum 'Buffer' or 'Handle' - what do you
think?  That would also simplify implementations which only
support one type.  

Well, that would make the class concrete (i.e. not
abstract), but so what?  One could leave the constructor
private, so that the user cannot accidentically create the
base class itself...

Just thinking out loud here...

Best, Andre.



-- 
Nothing is ever easy.


More information about the saga-core-wg mailing list