Hi,
I've been doing a bit of hacking on usqld to try and bring it into a
more functional state, and i have come across a couple of problems that
i thought (hoped) will benefit from advice from somebody's greater
experience. or at least some opinions.
At present the application protocol layer, is a home-built tcp
implementation that uses a home grown XDR parser/serializer library
(same data rep as RPC The API is also similar to rpc) extending the
protocol to support sessioned and callback operation is turning into a
bigger job than i expected, and i am left with the feeling that i am
doing something i really shouldn't be doing (badness) I'm sure somebody
once told me that mortals shouldn't write protocols.
There are a number of options available to me at the moment, and if
anybody could offer their opinions as to which they think would be the
best or any other options i would be muchly thankful.
1) Continue the way i am going: i.e. extend the XDR schema to include
the full protocol and then code the server/client around this.
2) Re-implement the whole thing using proper RPC (having never coded it
i'm not really aware of the pitfalls/advantages of moving so much of the
protocol into an external library)
3) Use a different protocol layer i.e.:
- move to a simple text protocol which might be more extensible future
proof, but which might be a) less efficient to deal with and b)
susceptible to problems with things like i18n.
]
- try to do something with a kit like XML RPC (or soap) which would make
the protocol definition easier, but would add the need for external
dependencies on an XML parser, HTTP library (or a homegrown one) or
possibly an xmlrpc implementation from elsewhere.
- possibly something in between using wbxml (a binary representation
XML-compatible language) and then layer XMLrpc with that (using wbxml)
only problem with that is a lack of a good wbxml library for C.
4) move over to something like ASN.1 for the rep.
5) any other ideas.
The requirements are:
+Support for normal query-response
+Some support for multiple protocol sessions over the same connection.
+Support for server-client (un)solicited messaging for
callbacks/notifications.
+Some way of dealing with protocol extension.
hmm any help, much appreciated.
owen
Received on Mon Jun 10 14:31:43 2002
This archive was generated by hypermail 2.1.8 : Tue May 04 2004 - 09:41:28 EDT