Hi Aditya, the manual refers to various communication techniques in the description of the individual session interfaces in Section 4.5. In my opinion, those session interfaces are best examples.
> What I did: > Server: > Ram_dataspace_capability ds = env()->ram_session()->alloc(SIZE); > void* arg = env()->rm_session()->attach(ds); BTW, there is a convenience helper for performing this sequence (and the reverse) at os/include/os/attached_ram_dataspace.h. > I returned this ds through a getDataspace() RPC method on the server > side to the invoking client. > I'm able to effectively write bulk data between components. Thank you > for directing me toward this. > > I have a couple of spinoff questions though. > 1. Initially I tried creating a Ram_connection ram1 and allocated as in > the ds_ownership program > > ram1.ref_account(env()->ram_session->cap()); > env()->ram_session()->transfer_quota(ram1.cap(), 8*1024); > > Then Ram_dataspace_capability ds = ram1.alloc(SIZE); and attached ds to > RM session and sent back ds. > But the client threw a C++ IPC error and called abort(). The general steps look good to me. If you shared you experiment as a branch at GitHub I could have a look, where the problem lies. > A) Is this because ram1 was local to the server? No. > B) Is the transfer quota mechanism is similar to the transfer_quota from > the client during the creation of a session > in the constructor? It is related but actually not very similar. Please have a look at Section 3.3 for a description. In short, the session quota is meant to be consumed by the respective server. The RAM server is like a bank where each RAM session corresponds to a bank account. The quota transferred to a RAM session is the balance on the account. > 2. I'm still trying to get my head around the concept of a capability. I > tried going through the definition of a capability > in base/capability.h, but I seemed to get nowhere. What can a user do > with a capability - mechanisms such as > attach and detach with the help of a capability etc. May I refer you to Chapter 3 of the manual? > I'm sure you've had similar questions asked before. Thank you taking the > time to respond. You are welcome. Cheers Norman -- Dr.-Ing. Norman Feske Genode Labs http://www.genode-labs.com · http://genode.org Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main