I started to implement a library to allow easy implementation of distributed aplications accros an intranet. I intend this library will provide communication betwen Linux (as dataspace keeper and client) and Win32 as client. Would you be so kind to look at my specifications and perform some coments or critics ? TIA ------------------------------------------------------------------------------ Best wishes, Marcel - Titus MARGINEAN [EMAIL PROTECTED], [EMAIL PROTECTED]
This library is intended to provide an easy way to developement of distributed applications. Key words: - Dataspace, is used to provide the base of comunications. A client (end-point) must connect itself to dataspace then it should use all the communication procedures allowed by it. There is no limits (teoreticly) about how many dataspace should exist on a network, and about how many end-points should be connected to a dataspace. Also no limits about how many dataspaces, one end-point should have access to. A dataspace must have a name. There is't allowed on to a network to exist 2 dataspaces with same name. -End-point, it is a client (in fact a task, or may be a computer, depend on implementation). End-point must login first to dataspace. An end-point must have an unique name in dataspace. An endpoint should join to a group. It is no limits (teoreticly) about number of groups, wich a end-point should join to. A group will look like a end-point, so is't allowed for two groups to have same name or for a group to have same name as a end-point. Also isn't allowed for a endpoint to have the same name as dataspace name, becouse the dataspace name look like a predefined group contain all endpoints connected to it. Here should be two types of endpoints(groups): predefined and temporary. A predefined endpoint(group) will exist as name in dataspace even nobody is connected as it. So, if a message are sent to that name, it will be keept in dataspace until will be read. - Message. A message should be sent by an end-point to other endpoint (or to a group). If the target name doesn't exist the message will be destroyed, else it will be keept in dataspace until will be read. When a message was sent, it is owned by target, so the sender can do nothing to delete or modify it. If a messages are sent to a group, the dataspace will copy and send msg. to each member of group. - Communicates. A communicate is a stamp in dataspace. It have a name and a time of life. A endpoint should emit a communicate. It will be keept in dataspace until the owner delete it or till timeout. Any endpoint should read communicates. - Orders. An order difer by communicate that it is deleted after somebody read it. It have name but also it have a counter wich describe "How many endpoints should read it before it will be dissapeard". - Semaphores. Also in dataspace exist semaphores for sincronization betwen endpoints accross network.