Share

Big Iron

Tracker: Bugs

7 Network Layer Rework - ID: 646202
Last Update: Settings changed ( loiosh )

Now that I've had some time off, I've been looking back at the
networking code and I'm not fully satisfied with the way it's layed
out from an structural standpoint. Decent enough as a rough
draft, but it needs to be cleaned up utilizing lessons learned
during the initial implementation.

Organizational Aims:

1) I want our own Socket class to wrap plib's netSocket - it's
conceivable that the networking code may need to be built into a
platform that doesn't have plib at some point (for stand-alone
servers, metaservers, etc.) and more localized platform
dependancies are needed.
2) I want to add a Connection class that does the communication
and connection management with separate subclasses for
ClientConnection and ServerConnection. This class should
include the functions of the connection protocol and the "glue"
logic currently in Socket.
3) There needs to be an explicit distinction (i.e. separate base
classes) for connection-oriented versus connectionless
protocols. CO protocols need to have much more interaction with
the Connection object than CL.
4) I want to come up with some more mnemonic way of
representing specific protocol messages (rather than msg-
>getU8(blah)) Subclasses, or adapter classes to translate
message formats might be in order.

Existing Implementation Weaknesses:

1) Sequencing, duplicate detection and reliable delivery are
handled fairly naively in the existing code. Need to come up with
a better mechanism (which doesn't result in message buffer
exhaustion, for example)
2) The application interface is a little too
cumbersome/complicated. It should be simplified and more
clearly specified.


Jason E. Steele ( loiosh ) - 2002-11-30 21:17

7

Closed

None

Jason E. Steele

net

CVS

Public


Comments

No follow-up comments have been posted.

Attached File

No Files Currently Attached

Changes ( 2 )

Field Old Value Date By
close_date - 2003-09-25 11:00 loiosh
status_id Open 2003-09-25 11:00 loiosh