Da ich meine Grooveshark API auf asynchrone Kommunikation umstellen wollte, um eine grafische Oberfläche dafür schreiben zu können, kam mir folgende Idee. Ich weiß nicht, ob es das schon gibt (im Internet habe ich zumindest nichts entsprechendes gefunden - aber vielleicht habe ich auch nicht nach dem richtigen gesucht). Und zwar fände ich eine Bibliotek schön, mit der man plattformübergreifend asynchrone Kommunikation betreiben kann, dabei soll es natürlich auch möglich sein, dass sich verschiedene GUI Toolkits verwenden lassen und somit eine Oberfläche in zum Beispiel in GTK oder auch QT geschrieben werden kann. Twisted geht da ja schon einen guten Weg, mit den verschiedenen Reaktoren für GTK, QT und verschiedene andere Plattformen und Toolkits. Jedoch bin ich dann über PEP342 gestolpert und finde die Idee irgendwie sehr gut, das nicht über Callbacks oder ähnliches zu machen, sondern das Ganze wie ein sequenzielles Programm schreiben zu können. Dazu dann noch eine Prise der Streams von Tornado und folgendes wäre möglich:
Code: Alles auswählen
@asynchronous
def examples():
conenction, address = yield stream.accept()
result = yield stream.read_until('protocol delimiter')
response = yield urlopen('http://www.example.com/')
Bevor ich jetzt anfange da massig Zeit zu investieren... Was haltet ihr davon oder gibt es schon so etwas?
Ich habe schon mal angefangen da schnell was zusammen zu klicken, ist noch nicht wirklich brauchbar und auch nicht gut programmiert, halt quick & dirty - sehr langsam, sobald ein Programm auf dem Stream aufsetzt: https://github.com/koehlma/lightasync
Viele Grüße
Maxi