I guess this may apply to many other services.

But you wanted a specific example, and I found that I cannot imagine
how ping can be easily implemented without (opaque) constructors.

In the constructor scenario I can run a service (on user resources)
that does bandwidth accounting that ensures the administrator imposed
network bandwidth policy but uses user memory and CPU time to store
and update the accounting data.
Then ping is a simple program that asks this service (or does a call
and blocks until the service allows its packet). It then sends the
ping, and waits for pong. Any number of (opaque, again) ping instances
can be run at any time.
The privileged network service can then be reduced to some simple
interface like send_packet, receive_packet(_filtered?).

Note that this is very similar to the competition scenario. The users
and their programs compete for a resource that is both limited and
privileged (in that it cannot be accessed directly). So I think that
networking and competitions/exams will not be the only use cases.


Thanks

Michal
_______________________________________________
L4-hurd mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/l4-hurd

Reply via email to