sending messages accross process boundaries.
Posted: Tue May 27, 2003 6:00 am
Hi ...
I just wish to hear your opinion about the following problem:
I have client-server for the OS services: applications or kernel module can be either service providers (i.e. servers) or services users (i.e. clients) and services are invoked by sending a message to the server.
Now, i'm about to extend that behaviour (currently client and server were always in the same address space) to a multi-address space scheme where user-level code can be clients or server too ...
and i'm no more sure of who should serialize the messages...
I mean, when a message includes - for instance - a string, would you rather create a flat structure with the string and other stuff
I just wish to hear your opinion about the following problem:
I have client-server for the OS services: applications or kernel module can be either service providers (i.e. servers) or services users (i.e. clients) and services are invoked by sending a message to the server.
Now, i'm about to extend that behaviour (currently client and server were always in the same address space) to a multi-address space scheme where user-level code can be clients or server too ...
and i'm no more sure of who should serialize the messages...
I mean, when a message includes - for instance - a string, would you rather create a flat structure with the string and other stuff
- at the client, i.e. the client will copy arguments into a flat array of byte whatever the message should look like and wherever the server is located,
- at the server side, i.e. the server will ask for additionnal mapping if it has to read the string
- or at the service runtime, i.e. the system will detect the message crosses a boundary and make serializing transparent to both client and server - and it doesn't serialize if no serializing is needed