[boost] asio Network Library formal review
-
So, auch wenn mir damals gesagt wurde, das ich keine Boost-News posten soll, weil ja jeder selbst nachschauen könnte. Will ich hier trotzdem auf etwas aufmerksam machen.
Wie vielleicht einige wissen, ist Boost eine Ansammlung von Libs und nicht _eine_ Lib. Bisher wurde immer wieder versucht eine Netzwerk-Lib rein zulassen, was bisher immer gescheitert ist. Villeicht auch dieses mal?
Jedenfalls gibts einen neuen Anlauf mit der asio Network Lib. Diese Lib wurde vom Entwickler Christopher Kohlhoff soweit an die Boost-Vorgaben angepasst, das es jetzt einem Review unterzogen wird, wo jeder seine Stimme zu abgeben kann. An diesem Review kann und soll jeder C++ bzw. Boost Benutzer teilnehmen. Es hat also jeder die Möglichkeit der asio zu zustimmen oder sie abzulehnen. Das ganze natürlich nur mit Begründung!
Wer z.B. Netzwerk-Anfänger ist, kann sich z.B. auch nur auf ein Review der Dokumentation beschränken. Und z.B. eine Aussage machen, ob die Doku, Tutorials und Handhabung für einen Netzwerk-Einsteiger soweit verständlich ist. Und ob man überhaupt ein Tutorial-Beispiel erfolgreich durcharbeiten konnte (z.B. weil die Klassen total unintuitiv sind). Wenn nicht, was war nicht gut gelöst und was könnte man besser machen?
Man muß also nicht das ganze asio-Projekt bewerten, man kann sich definitiv auch nur Teilgebiete rauspicken. Wer Netzwerk-Crack ist, kann natürlich auch die ganze Handhabung, das Interface und sogar Implementierung bewerten.
Warum das Posting von mir, ist doch nur ein Boost-Review von vielen?
1. Wir brauchen endlich eine Network-Lib, und Boost ist für neue Libs immer ein guter Anlaufpunkt.
2. Das ISO C++ Kommittee sucht dringend für den TR2 einen Vorschlag für eine Network-Lib. Bis Oktober 2006 können Vorschläge eingereicht werden. Im TR1 sind viele Boost-Libs offiziell aufgenommen wurden! D.h. wenn die Boost-User der asio zustimmen, ist es nicht unwahrscheinlich, das sie auch für den TR2 vorgeschlagen wird!
So, lange Rede kurzer Sinn: es wäre gut wenn viele an diesem Review teilnehmen und ihre Bewertung abgeben. Das ganze ist natürlich mit etwas Schreibarbeit verbunden. Ein einfaches "No" oder "Yes" reicht dem Review-Manager bei Boost wohl nicht aus. Hier also die URL mit den Regeln für Bewerter:
http://www.boost.org/more/formal_review_process.htm#Comments
Das Review läuft leider nur bis zum 23.12.2005! Eure Bewertung könnt ihr in die Boost-Developers Mailingliste schicken (wurde so vom Review-Manager gewünscht):
http://www.boost.org/more/mailing_lists.htmAls Subject "my asio review" o.ä. wählen, damit es nicht unter geht. Erste Reviews wurden schon gepostet.
Hier die URL zu der asio Website, das wichtigste an der ganze Sache:
http://asio.sourceforge.net/
-
Das macht hier eh keiner.
-
hellseher schrieb:
Das macht hier eh keiner.
[/dftt] jetzt mach ichs erst recht.. [dftt]
-
Und hat sich jemand schon mal asio angesehen oder es gar eingesetzt ?
Die Doku find ich recht dürftig...
Besonders was Tutorials angeht, beschrieben wird
wohl was über timer, aber Sockets seh ich da nirgends...Gearbeitet habe ich allerdings auch noch nicht damit, da ich mich
damals für wxSocket entschieden habe...phlox
-
Das Design ist viel zu komplex.
-
phlox81 schrieb:
Und hat sich jemand schon mal asio angesehen oder es gar eingesetzt ?
Die Doku find ich recht dürftig...
Besonders was Tutorials angeht, beschrieben wird
wohl was über timer, aber Sockets seh ich da nirgends...Ich habe mich leider damit noch nicht beschäftigt, habe jetzt aber einen Grund dies am Wochenende mal zu tun.
Aber obwohl ich mich damit nicht beschäftigt habe, sehe ich trotzdem in den Tutorials sieben Beispiele die sich mit dem IP4-Protokoll und Soclets beschäftigen. 3x zu TCP, 3x zu UDP und einmal in Kombination.
Steht sogar fett und groß auf der Tut-Hauptseite "Introduction to Sockets". Mußt weiter hinter den "Basic Skills" schauen, sind doch nur ein paar Zeilen.
Du solltest dich einfach mal damit auseinander setzen. Selbst ich als Network-Anfänger finde mich in der Docu erstmal soweit zu recht, das ich die Tutorials finde.
-
Artchi schrieb:
phlox81 schrieb:
Und hat sich jemand schon mal asio angesehen oder es gar eingesetzt ?
Die Doku find ich recht dürftig...
Besonders was Tutorials angeht, beschrieben wird
wohl was über timer, aber Sockets seh ich da nirgends...Ich habe mich leider damit noch nicht beschäftigt, habe jetzt aber einen Grund dies am Wochenende mal zu tun.
Aber obwohl ich mich damit nicht beschäftigt habe, sehe ich trotzdem in den Tutorials sieben Beispiele die sich mit dem IP4-Protokoll und Soclets beschäftigen. 3x zu TCP, 3x zu UDP und einmal in Kombination.
Steht sogar fett und groß auf der Tut-Hauptseite "Introduction to Sockets". Mußt weiter hinter den "Basic Skills" schauen, sind doch nur ein paar Zeilen.
Du solltest dich einfach mal damit auseinander setzen. Selbst ich als Network-Anfänger finde mich in der Docu erstmal soweit zu recht, das ich die Tutorials finde.
Ich hatte mich auf die Doku des Latest Stable Release bezogen,
nicht auf die des Developement Branches. Dort ist es in der Tat dokumentiert,
aber in der 0.2 Version nicht, und ich arbeite i.d.R. mit einem Stablerelease
und nicht der Developementversion einer Lib.
-
Artchi schrieb:
Selbst ich als Network-Anfänger
FMY: Warum sagt ein NW-Anfänger: Wir brauchen dringend eine NW-Lib?
-
damit er mit Netzwerkprogrammierung anfangen kann...
Deine Frage wäre eher bei einem Antinetzwerker interessant, aber den findet man ja eh nicht im Internet. Aber jetzt wird es komplett OT und wir sine hier ja nicht im Neuigkeiten Forum.
-
Sgt. Nukem schrieb:
FMY: Warum sagt ein NW-Anfänger: Wir brauchen dringend eine NW-Lib?
Hem, bisher hat mich das nicht wirklich gereizt. Ich habe bisher eher HiLevel-Libs benutzt, die schon Mainstream-Protokolle anbieten. So wirklich Lower-Level wirds jetzt erst interessant, da es in Boost für mich pers. Defacto-Standard wäre. Besser natürlich in TR2.
-
phlox81 schrieb:
Ich hatte mich auf die Doku des Latest Stable Release bezogen,
nicht auf die des Developement Branches. Dort ist es in der Tat dokumentiert,
aber in der 0.2 Version nicht, und ich arbeite i.d.R. mit einem Stablerelease
und nicht der Developementversion einer Lib.Du solltest aber schon der Lib und vorallem dem Entwickler fair ggü. sein und den aktuellen Stand bewerten (wenn du es denn überhaupt willst). Immerhn steht "Boost Review Material" über der entsprechenden Version. Bei dem Review geht es nämlich nicht darum, ob der letzte Stable-Release in Boost released werden kann. Es geht erstmal darum asio überhaupt in Boost aufzunehmen. Und wenn asio morgen in Boost drin ist, heißt das noch lange nicht, das es dann morgen in der offiziellen Boost-Distribution drin ist. Denn für offizielle Boost-Distributionen gibt es nochmal gesonderte Regression Tests, die regelmäßig mit allen Boost-Libs gemacht wird.
Es geht also um die prinzipielle Frage, ob asio in Boost rein darf. Da ist der letzte Stable-Release unerheblich, weil der ja auch Monate zurück liegen kann, aber der Entwickler speziell für das Review am Developer-Branch gearbeitet hat.
Für produktive Umgebungen ist es aber natürlich, wie von dir gesagt, richtig mit dem letzten Stable Release zu arbeiten.