Closed fraunhofer-iis-bot closed 1 year ago
In GitLab by @fraunhofer-iis-anon on May 28, 2019, 12:36
Bei den push service responses von subscribe/unsubscribe, ist bei einem success nicht zu unterscheiden, ob gerade erfolgreich subscribed oder unsubscribed wurde. Soll ich das anpassen?
In GitLab by @cstender on May 28, 2019, 12:54
Ja, finde ich schon. Wie ist es denn gerade und was würdest du vorschlagen?
In GitLab by @cstender on May 28, 2019, 13:41
Evtl. kannst du das direkt zusammen mit dem #3 bearbeiten?
In GitLab by @fraunhofer-iis-anon on May 28, 2019, 13:44
Ich würde das success Key zu subscribe/unsubscribe success abändern.
In GitLab by @cstender on May 28, 2019, 13:56
Oder noch ein Feld hinzufügen? Eine Antwort könnte dann wie folgt ausschauen:
japi_pushsrv_response: pushsrv_abc action: subscribe success: true
Generell sollten wir uns alle Pushsrv-Responses noch einmal anschauen und vereinheitlichen.
Also japi_pushsrv_subscribe/unsubscribe list und push messages
Ich würde vorschlagen, lass es erst mal wie es ist (weil es hat mit dem Multiclient erst mal nichts zu tun) und mach ein neues Ticket auf bzw. ergänze das vorhandene.
In GitLab by @fraunhofer-iis-anon on May 28, 2019, 14:10
added 1 commit
In GitLab by @cstender on May 28, 2019, 14:20
Commented on include/japi.h line 104
Von welcher Liste? Nur aus dem japi_context oder auch aus allen Push Services? Falls auch letzteres, dann erwähnen.
In GitLab by @cstender on May 28, 2019, 14:20
Commented on include/japi.h line 106
Einrückung kaputt
In GitLab by @cstender on May 28, 2019, 14:21
Commented on include/japi.h line 113
Erst den japi_context als Parameter, dann den Socket, damit es einheitlich ist bei alles Funktionen.
In GitLab by @cstender on May 28, 2019, 14:22
Commented on include/japi_pushsrv.h line 44
Zieh den clients Pointer bitte vor den next pointer. Der next Pointer sollte immer am Ende stehen, weil man ihn dadurch weniger schnell übersieht.
In GitLab by @cstender on May 28, 2019, 14:24
Commented on src/japi.c line 214
Reihenfolge der Parameter drehen.
In GitLab by @cstender on May 28, 2019, 14:25
Commented on src/japi.c line 249
Parameter drehen (siehe Bemerkung im Header)
In GitLab by @cstender on May 28, 2019, 14:29
Commented on src/japi.c line 271
Auf den ersten Blick ist "If single element" nur ein Spezialfall von "If first element" und kann weg?
In GitLab by @cstender on May 28, 2019, 14:30
Commented on src/japi.c line 275
Hier schreib mal nur eine Funktion: japi_pushsrv_remove_client(socket). Die soll sich dann um den Rest kümmern.
In GitLab by @cstender on May 28, 2019, 14:30
Commented on src/japi.c line 279
Nachdem du gefree't hast, darfst du nicht mehr darauf zugreifen!
In GitLab by @fraunhofer-iis-anon on May 28, 2019, 14:37
Commented on src/japi.c line 271
Glaube Nein, weil man ctx->clients sagen muss, ob es auf next oder auf NULL zeigt. Auf NULL sollte es nur zeigen wenn es ein einziges Element gibt.
In GitLab by @cstender on May 28, 2019, 14:45
Commented on src/japi.c line 271
Schau es dir bitte noch mal an.
In GitLab by @cstender on May 28, 2019, 17:42
Commented on src/japi.c line 218
Warum nicht so lassen? Ist das nicht überall so?
In GitLab by @cstender on May 28, 2019, 17:42
Commented on src/japi.c line 231
Warum nicht so lassen? Ist das nicht überall so?
In GitLab by @cstender on May 28, 2019, 17:42
Commented on src/japi.c line 237
Warum nicht so lassen? Ist das nicht überall so?
In GitLab by @cstender on May 28, 2019, 17:48
Commented on src/japi.c line 426
Nicht so sinnvoll... :)
In GitLab by @cstender on May 28, 2019, 17:52
Commented on src/japi.c line 360
first_client_el kann weg. Du kommst mit ctx->client immer auf das erste Element.
In GitLab by @cstender on May 28, 2019, 17:55
Commented on src/japi.c line 374
Warum so kompliziert?
Lass gt_socket weg und initialisiere nfds mit server_socket + 1. Dann checkst du in der oberen While-Schleife (Add add file descriptors to set), ob client->socket >= nfds. Wenn ja, dann machst du nfds = client->socket + 1. Die zweite while-Schleife kannst du dir dann sparen.
In GitLab by @cstender on May 28, 2019, 17:58
Commented on src/japi_pushsrv.c line 33
In GitLab by @cstender on May 28, 2019, 18:02
Commented on src/japi_pushsrv.c line 76
In GitLab by @cstender on May 28, 2019, 18:04
Commented on src/japi_pushsrv.c line 138
Wie zeigst du an, dass der client erfolgreich ausgetragen wurde? Bzw. was ist, wenn er nicht eingetragen wurde?
In GitLab by @cstender on May 28, 2019, 18:09
Commented on src/japi_pushsrv.c line 383
Wir brauchen noch eine Funktion, mit der man einen Client aus allen PSCs entfernen kann. Oder du packst die doch in japi_remove_client rein und die Funktion iteriert dann über alle PSCs und ruft für jeden japi_pushsrv_remove_client auf.
Hier musst du dann die japi_remove_client aufrufen.
In GitLab by @fraunhofer-iis-anon on May 29, 2019, 11:14
Commented on src/japi.c line 271
Verstehe jetzt was passiert. Im pushsrv_remove macht er ein close socket auf fd 4 in psc->clients, der auch in der anderen Liste ist ctx->clients. Damit gibt write natürlich -1 zurück. Aber die Sockets müssen in beiden Listen sein. Muss ich vorher prüfen, ob der Socket in der anderen Liste schon existiert und dann entsprechend schließen?
In GitLab by @fraunhofer-iis-anon on May 29, 2019, 11:31
Commented on src/japi.c line 426
Das free(request)?
In GitLab by @fraunhofer-iis-anon on May 29, 2019, 11:44
Commented on src/japi_pushsrv.c line 76
If-Bedingungen auch durch asserts ersetzen?
In GitLab by @fraunhofer-iis-anon on May 29, 2019, 11:55
Commented on src/japi_pushsrv.c line 138
Mit return 0. Oder meinst du ich soll free per catch abfangen?
In GitLab by @fraunhofer-iis-anon on May 29, 2019, 12:06
Commented on src/japi_pushsrv.c line 383
Wenn ich einen Client aus allen Sockets entfernen will brauche ich den JAPI_context, oder? send_msg gibt mir nur einen aktuellen psc. Die Frage ist, wie ich damit an das erste Element komme.
In GitLab by @cstender on May 29, 2019, 15:14
Commented on src/japi.c line 426
Nein, dass du die Liste durchläufst ohne etwas zu machen. Wofür?
In GitLab by @cstender on May 29, 2019, 15:15
Commented on src/japi_pushsrv.c line 76
Kann/darf der Anwender die Funktion aufrufen? Eigentlich nicht oder? In diesem Fall reicht ein assert und die Funktionsdeklaration muss in den internal Header.
In GitLab by @cstender on May 29, 2019, 15:18
Commented on src/japi_pushsrv.c line 138
Es gibt in C kein try/catch oder was meinst du mit "per catch abfangen"?
Wenn ich das richtig sehe, wird return 0 für beide Fälle zurückgegeben: Element ausgetragen und Element nicht gefunden.
In GitLab by @cstender on May 29, 2019, 15:22
Commented on src/japi_pushsrv.c line 383
Das ist ein guter Einwand. Man könnte in psc einen Pointer auf den japi context einbauen, der beim erstellen eines pushsrv Kontextes gesetzt wird. Dann käme man über psc auch wieder zurück auf ctx. Nicht wirklich schön, aber spontan fällt mir nichts besseres ein.
In GitLab by @cstender on May 29, 2019, 15:24
Commented on src/japi.c line 271
Es sollte eigentlich kein Problem sein ein Close 2x aufzurufen. Du kannst aber das close auch nur dort aufrufen, wo write das erste mal einen Fehler gemeldet hat.
In GitLab by @fraunhofer-iis-anon on May 29, 2019, 16:51
Commented on src/japi_pushsrv.c line 138
done
In GitLab by @fraunhofer-iis-anon on May 29, 2019, 16:51
Commented on src/japi_pushsrv.c line 76
done
In GitLab by @fraunhofer-iis-anon on May 29, 2019, 16:51
Commented on src/japi_pushsrv.c line 33
done
In GitLab by @fraunhofer-iis-anon on May 28, 2019, 12:35
_Merges feature_multiclient -> dev