Path: utzoo!mnetor!uunet!nuchat!sugar!peter From: peter@sugar.UUCP (Peter da Silva) Newsgroups: comp.sys.amiga.tech Subject: Re: IPC - IPCMessage and Networks Message-ID: <1929@sugar.UUCP> Date: 5 May 88 09:37:34 GMT References: <5699@well.UUCP> <9131@agate.BERKELEY.EDU> <5819@well.UUCP> <5872@well.UUCP> Organization: Sugar Land UNIX - Houston, TX Lines: 78 Keywords: IPC, standard, network In article <5872@well.UUCP>, shf@well.UUCP (Stuart H. Ferguson) writes: > Pete's "for instance" example of passing messages down a network is > really the *only* purpose I can find for defining a standard such as > this. I can't see any other reason why a program would examine the > contents of a message unless it was the server for the message in which > case it would know what to expect a-priori. That's like saying "why define a standard for command line arguments?". Because not all programs will have full capability. That's the big deal about IFF formats, for example. A program can take what it wants and can use from the file (or in this case the message) and send the rest back unopened... (you owe nothing, and get to keep the genuine imitation diamond ring :->). > So first of all, are there any other uses of "dumb" servers besides > network front-ends? What do you mean by a "dumb" server? A program with less than full capacity? Sure... how about a stripped down version to run in machines with only half a Meg (god, how blaze' you get about RAM). How about a version you hacked up to try stuff out that only handles one message? Maybe it turns out only a couple of programs use some capability so you can generally get away with not providing it... and those programs will still work, or at least not crash. > I think the IPCMessage format is going to run into some problems dealing > with networks. Not the least of these problems is how does a network > server attach itself transparently into the IPC system? The discussion really hasn't addressed how you initiate a conversation. Just how you talk once you've been introduced. I think the next topic should be just this... rather than more wrangling over message formats. I think the object-oriented approach presented recently has quite a bit of merit. Have you any ideas? > Another problem is much more subtle. It seems to me that the only way > to test if a given client-server protocol will work over a network is to > actually test it using a specific network server. You can simulate the network by writing a gateway that filters out the stuff that's meaningless over a network. File locks, rastports, message ports... stuff like that. How would you address this problem? > By way of example, consider a client (C) and a server (S) using the > proposed IPC mechanism. The relationship between the two consists of > "C" sending some data to "S" in a message and "S" modifying it and > replying. The data gets communicated using one IPCItem with a pointer > to the data block which is not included in the message itself. Now > let's say that "S" forgets to set the IPC_MODIFIED flag even though the > data for that IPCItem does get modified. This mistake could be deadly > to networks in a subtle and nasty way. This mistake would be deadly anyway, because most programs will ignore stuff that hasn't been marked as modified. This will break badly-behaved servers quickly, since they'll look like they're not doing anything. If you really want to be sure, add the capability to copy message and forward replies to the network simulator. > The communication will work fine on a single Amiga since neither "C" nor > "S" really care about the state of the IPC_MODIFIED bit in the returned > message. "S" justs modifies the data in place in memory and when "C" > gets the message back it has control of the modified data. But how does it know which data's modified if it doesn't look at the bits? > The general problem is that the IPCMessage is a "soft" standard. It's > just a set of rules and nothing breaks if programmers violate the rules, > except down the line when someone expected the rules to be followed. What other sort of standard would you define? Let's hear your suggestions. -- -- Peter da Silva `-_-' ...!hoptoad!academ!uhnix1!sugar!peter -- "Have you hugged your U wolf today?" ...!bellcore!tness1!sugar!peter -- Disclaimer: These aren't mere opinions, these are *values*.