Freigeben über


Unterstützung für Scatter/Gather Input/Output im SPI

Die WSPSend, WSPSendTo, WSPRecvund WSPRecvFrom Routinen übernehmen alle ein Array von Clientpuffern als Eingabeparameter und können daher für Punkt/Gather (oder Vektor) I/O verwendet werden. Dies kann sehr nützlich sein, wenn Teile jeder übertragenen Nachricht zusätzlich zu einem Nachrichtentext aus einer oder mehreren Komponenten mit fester Länge bestehen. Solche Headerkomponenten müssen vor dem Senden nicht mit einem einzelnen zusammenhängenden Puffer verkettet werden. Ebenso kann die Kopfzeilenkomponenten automatisch in separate Puffer aufgeteilt werden, sodass der Nachrichtentext rein bleibt.

Das Verwenden von Listen von Puffern anstelle eines einzelnen Puffers ändert nicht die Grenzen, die für Empfangsvorgänge gelten. Bei nachrichtenorientierten Protokollen wird ein Empfangsvorgang abgeschlossen, wenn eine einzelne Nachricht empfangen wurde, unabhängig davon, wie viele oder wenige der bereitgestellten Puffer verwendet wurden. Ebenso für streamorientierte Protokolle wird ein Empfang abgeschlossen, wenn eine nicht angegebene Anzahl von Bytes über das Netzwerk eingeht, nicht unbedingt, wenn alle bereitgestellten Puffer voll sind.