RemoteServiceID=Struct.new(:nodeInformation,:name,:provides) class RemoteService def initialize(serviceID,networkNode) @service=serviceID @networkNode=networkNode end def method_missing(*s) log "remoteService calling #{s.inspect}" if s[0].to_s=~/.*!/ res=@networkNode.callRun(@service,s) else res=@networkNode.call(@service,s) end log "RESULT:",res res end def log(*s) @networkNode.log(*s) end end class RemoteCall def intialize(remoteService,calledBy,name,args) end end def RemoteReturn def initialize(to,what) @to=to @what=what end end class RemoteRun def initialize(remoteService,name,args) @args=args end end