Timeline for answer to Seeking advice on design of application protocol by Brendan
Current License: CC BY-SA 3.0
Post Revisions
4 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| May 11, 2013 at 2:07 | comment | added | Brendan | However; I would be tempted to implement some sort of "protocol tester", especially if different teams are implementing different clients/servers using the protocol. This would be used like you'd use unit tests (e.g. part of the build process and not part of the end product). | |
| May 11, 2013 at 1:59 | comment | added | Brendan |
I normally do "receiver is responsible for checking/validating and returning an error". Partly because it avoids mismatches (e.g. one thing thinks it's valid and another doesn't), partly because it reduces code (e.g. something like switch(requestID) { ... default: /* Unknown request */ where you know its not valid because it didn't match a case) and partly because sometimes you don't know if something is an error until you've done most of the work (e.g. "name not found").
|
|
| May 10, 2013 at 16:28 | comment | added | Chap | Thank you for such a thorough and thoughtful answer. I have some followup questions but I'm not sure how that fits into SE's format, since comments are limited in size (and hard to format). My biggest concern is with whether there should be one layer enforcing, say, the request/reply protocol (plus maybe the session setup/teardown), and a higher "presentation" layer responsible for unwrapping the request, validating it against a metadata definition of its layout, and presenting to the application pure data, perhaps in the form of a hash table. | |
| May 10, 2013 at 2:29 | history | answered | Brendan | CC BY-SA 3.0 |