Ich habe schon wieder ein Problem mit LwIP. Auf dem STM32 möchte ich die Datenrate erhöhen. Ich habe feste Datenpakete von 40 Byte Länge. Immer wenn ich ein tcp_write aufrufe warte ich nun, bis der sent handler aufgerufen wird, was ein ACK vom Empfänger bedeutet, und sende das nächste Paket. Wireshark ergibt, dass auch wirklich immer nur 40byte pro Transfer ankommen.
Nun habe ich mir gedacht ich kann ja mehr als einmal tcp_write aufrufen und die Anzahl der noch offenen Transfers festhalten. Immer wenn ich also tcp_write aufrufe erhöhe ich einen counter und im handler verringere ich den. Dann starte ich noch die verbleibenden writes.
Das scheint aber nicht zu funktionieren. Ist es garantiert, dass auf jedes tcp_write auch genau einmal der handler aufgerufen wird?
Wie kann ich die Senderate generell erhöhen?