CROSSPOST von >>>/fefe/47073
aufgrund populärer nachfrage (>>>/fefe/47078) hier nochmals zum separat diskutieren.
hat sich mal einer hier die lib tatsächlich angeschaut?
die "abstrahiert" ja unix-netzwerkfunktionen "weg".
macht dann aber trotzdem eine eigene lib-funktion pro unix-funktion, die man normalerweise aufrufen würde. also nicht weniger calls. heissen nur anders, sind aber nicht verständlicher, bloss schlechter googlebar.
dafür sind da grundsätzlich weniger parameter pro funktion. wieso? weil die library internen state hat. statt das wie schlaue libs über ein state-struct (c++ würde man "this" nehmen) zu machen, ist der intern in der library versteckt und macht so multithreading kaputt.
was der netzwerkteil tatsächlich machen sollte (aber nirgends so genannt wird), ist der job einer event-library. davon gibt es ein-zwei tatsächlich brauchbare. falls einer je sich die library antun wollen würde, spare er sich die mühen und schmerzen und suche er nach libevent oder libuv.
natürlich sind da zusätzlich in schöner djb-manier noch ein dutzend andere logische libraries in der gleichen lib drin, weil fick dich du bekommst nur alles aufsmal.
ahja, und wie üblich zu erwähnen: unix-funktionen sind in manpages schön dokumentiert, auch die anderen event-funktionen verfügen über hilfreiche doku. doku von fettlib besteht aus mitgelieferten manpages, die plusminus sagen "bridge(): /* this is bridge */". wenn du wissen willst, was wie in welcher reihenfolge aufgerufen werden soll, musst du trotzdem den unix-netzwerk-funktionsstack kennen, um das zu verstehen.
hab inzwischen this_is_bridge.png gefunden, allerdings in der russischen version weil zu faul zum kroppen.