navigation

Netzwerkbibliotheken in C++

Zur Implementierung verschiedener Netzwerkprotokolle auf Layer 3 wurden mehrere C++ Bibliotheken zur Netzwerkentwicklung realisiert. Zentrale Entwicklungsziele dieser Bibliotheken waren

Nach einer ausführlichen Recherche wurde entschieden, diese Bibliotheken neu zu entwickeln, da vorhandene Lösungen entweder als zu invasiv oder zu komplex eingeschätzt wurden. Entwickelt wurden mehrere Bibliotheken:

Packet Library
Hierbei handelt es sich um eine Bibliothek zur Interpretation und Erzeugung von Netzwerkpaketen verschiedenster Protokolle. Bereitgestellt wird ein Framework, welches eine einfache Spezifikation der Paketstruktur erlaubt und so die beliebige Erweiterbarkeit der Bibliothek gewährleistet.
Socket Library
Es wurde eine objektorientierte und policy-basierte Abstraktion der BSD Socket-Schnittstelle implementiert. Die Bibliothek erreicht eine weitgehende Kapselung der Komplexität des Socket APIs bei gleichzeitiger Erhaltung maximaler Performance. Durch das policy-basierte Design ist die Bibliothek jederzeit durch neue Socket-APIs oder Socket-Typen erweiterbar.
Scheduler
Es wurde ein einfacher Task Scheduler zur implementierung hochperformanter nicht konkurrenter Server realisiert. Das Scheduler Interface ist sehr einfach gehalten. Nicht desto trotz ist über die Verarbeitung beliebiger Dateihandle auch die Integration von UNIX Signalen und IPC Kommunikation möglich

Die entwickelten Bibliotheken stehen unter der GPL-Lizenz und sind unter http://senf.berlios.de frei verfügbar.