Hi, On Thu, Apr 03, 2008 at 02:32:25PM +0200, Lluis wrote:
> Well, I don't know how rpctrace internally works, but I suppose it's > someting similar to ptrace, which gives information at "use-time", > while such a filesystem would need some kind of introspection > mechanism on the destination servers, in order to be able to figure > out what methods are available, as well as their signature. Ah, at last I understand what this discussion was about... ;-) > A quick hack to that could be to store that information in a special > section in the ELF (generated by the idl compiler), which simply lists > the available RPCs and their signature. > > Then, setting the translator for a server would be like $ settrans > /some/path introspectfs -p /some/server > > which retrieves the available methods for the server (from the > binary's ELF or wherever the information is stored) and exposes them > to the fs hierarchy. This information should not be retrieved from the binary, but rather from the running server. (We actually discussed that feature once in the context of ngHurd...) For that, all servers would need to implement an additional RPC interface, which allows clients to query information about the other interfaces the server implements. The actual information would have to be generated by MiG, ans stored in some static data structure in the server. Perhaps it would suffice to just provide the original .idl files -- though I guess some preprocessed form would be much more useful... This is indeed a rather interesting project :-) -antrik-