Warnung: Du bist nicht angemeldet. Deine IP-Adresse wird bei Bearbeitungen öffentlich sichtbar.
Melde dich an oder
erstelle ein Benutzerkonto, damit Bearbeitungen deinem Benutzernamen zugeordnet werden. Ein eigenes Benutzerkonto hat eine ganze Reihe von Vorteilen.
Die Bearbeitung kann rückgängig gemacht werden.
Bitte prüfe den Vergleich unten, um sicherzustellen, dass du dies tun möchtest, und veröffentliche dann unten deine Änderungen, um die Bearbeitung rückgängig zu machen.
Aktuelle Version |
Dein Text |
Zeile 176: |
Zeile 176: |
|
| |
|
| == Optionales == | | == Optionales == |
| === Nicht Blockender Zugriffsmodus === | | === Non-Blocking === |
| Wie auf normalen Filehandles in der UNIX Welt kann auch auf VS Objekten ein Nicht-Blockender Modus verwendet werden. Das heißt das Lese- und Schreibbefehle nicht blockieren sondern nur im internen Puffer operieren und somit schneller zurückkehren. Der Nachteil ist das dabei so genannte "short reads" beziehungsweise "short writes" häufiger passieren.
| | ... |
| | |
| Der Nicht Blockierende Modus kann mittels der Funktion roar_vs_blocking() verwendet werden wie im folgenden Beispiel gezeigt:
| |
| <nowiki>ret = roar_vs_blocking(vss, ROAR_VS_TRUE, &err);</nowiki>
| |
| | |
| Der zweite Parameter gibt dabei an ob der Modus gesetzt werden soll (ROAR_VS_TRUE) oder zurückgesetzt (ROAR_VS_FALSE). Natürlich kann er auch gekippt (ROAR_VS_TOGGLE) oder Abgefragt werden (ROAR_VS_ASK).
| |
|
| |
|
| === Warten auf Stream Ende === | | === Warten auf Stream Ende === |
| Mit der Funktion roar_vs_sync() kann man auf das Ende des Streams warten.
| | ... |
| | |
| Beispiel:
| |
| <nowiki>ret = roar_vs_write(vss, buf, len, &err); // letzter Schreibzugriff
| |
| ret = roar_vs_sync(vss, ROAR_VS_WAIT, &err);
| |
| // am Stream-Ende
| |
| ret = roar_vs_close(vss, ROAR_VS_FALSE, &err);</nowiki>
| |
| | |
| Es sollte nach dem Aufruf von roar_vs_sync() entweder direkt der Stream geschlossen werden oder erneut geschrieben. In letzterem Fall wird ein Knacken oder ähnliches zu hören sein durch die Unterlaufs bedingte Unterbrechung (engl. "underrun").
| |
|
| |
|
| === Interface zur Haupt API === | | === Interface zur Haupt API === |