Network Protocol Abstraction Library

  Sourceforge Page Documentation CVS Access  

 

 

 

The Network Protocol Abstraction Library was designed to help network protocol designing developers concentrate on what they do best, the protocol and not the environment. NPAL is able to help every client/server protocol implementing developer.

NPAL provides a framework for designing protocols. It actually provides more than just a framework. It provides a whole new perspective on protocols including a network protocol handling pattern.

The design was done based on several goals and principles:

  • not being dependant on any network implementation details
  • focus entirely on the protocol (protocol means 'what data is sent when over the wire')
  • implement the protocol completely independent of server or client implementation.
    In fact the 'server' and 'client' classes just use the protocol implementation without altering it.
    It should be possible to write the protocol class with the protocol specification and implement server and client as well as the network low level routines completely independent of the protocol.
  • server and client code shouldn't contain any data handling code for the network, they should just handle the data for the host (the payload of the communication)
  • not using any unportable features (not even of C++)
  • header implementation, so that the delivery of library binaries is not necessary.
 
 

The code is written with portability in mind but still needs to be tested on a number of platforms.

The library consists of only some headers but the examples compile on:

  • Mac OS X 10.4 (g++ 4.0 compiler)
  • Solaris 10 (Sun compiler)
  • Linux (x86, g++)

 

   
   
 

There is no code or documentation to download yet. The code is in CVS and will be officially released once it's in a state, that people can easily start up and use it.

   
 
 SourceForge.net Logo

 

©2005 Horst Birthelmer