-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!
peer.ams1.xlned.com!news.xlned.com!peer02.ams4!peer.am4.highwinds-media.com!new
s.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-sp
o-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Date: Mon, 26 Sep 2022 09:09:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.13.0
Subject: Re: lwIP - odbieranie danych przez TCP
Content-Language: pl
Newsgroups: pl.misc.elektronika
References: <632f2939$0$455$65785112@news.neostrada.pl> <tgr59t$a52$1@gioia.aioe.org>
From: Atlantis <m...@w...pl>
In-Reply-To: <tgr59t$a52$1@gioia.aioe.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 25
Message-ID: <6331503a$0$550$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.27.19.159
X-Trace: 1664176186 unt-rea-b-01.news.neostrada.pl 550 83.27.19.159:39426
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 2353
Xref: news-archive.icm.edu.pl pl.misc.elektronika:774568
[ ukryj nagłówki ]On 26.09.2022 05:11, a...@m...uni.wroc.pl wrote:
> Nie uzywalem lwIP ale zerknelem do dokumentacji.
> Z dokumantacji lwIP wychodzi ze to ma byc "zero copy". Czyli trzymasz
> buforki tak dlugo jak sa potrzebne, a potem zwalniasz. Jak cos
> zostalo to sobie zapamietujesz polozenie bufora i uzywasz przy kolejnym
> callbacku. tcp_recved _nie_ zwalnia buforow, wyglada ze musisz to
> robic oddzielnie przez pbuf_free.
Ok, czyli chyba faktycznie najprościej będzie posłużyć się dodatkowym
buforem pomocniczym, w którym trzymałbym nadwyżkę. Na dobrą sprawę można
by nawet alokować te dane dynamicznie, na stercie. Wtedy po prostu przed
zapisaniem kolejnej paczki sprawdzałoby się czy wskaźnik do bufora
pomocniczego ma wartość inną niż NULL, zapisywało te dane do głównego
bufora, zwalniało pomocniczy i przypisywało NULL do wskaźnika. Dopiero
wtedy go głównego bufora szłaby paczka nowych danych, a jeśli coś by
zostało, to nadwyżka trafiałaby do zaalokowanego na nowo bufora
dynamicznego.
To chyba jednak bardziej eleganckie rozwiązanie niż opóźnianie
zwalniania całej struktury pbuf do kolejnego callbacka.
Po prostu miałem nadzieję, że można to zrobić bez takich kombinacji,
jedynie pobierając potrzebny w danej chwili kawałek bufora, jak w
przypadku MLA na PIC32.
Następne wpisy z tego wątku
- 26.09.22 17:33 Atlantis
- 27.09.22 15:35 J.F
- 27.09.22 17:12 Mateusz Viste
- 27.09.22 17:22 Cezar
- 28.09.22 09:30 Atlantis
- 28.09.22 09:35 Atlantis
- 28.09.22 10:52 Mateusz Viste
- 28.09.22 13:06 Atlantis
- 28.09.22 18:39 J.F
- 29.09.22 01:26 Atlantis
- 29.09.22 10:58 Cezar
- 29.09.22 16:48 Atlantis
- 29.09.22 17:05 Atlantis
- 30.09.22 09:49 J.F
- 30.09.22 11:04 Cezar
Najnowsze wątki z tej grupy
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
- Korekcja perspektywy
- Wentylator zabija zasilacze LEDek?
- Re: Kompensacja mocy biernej przy 230VAC
- Totaliztyczny obowiązek naprawy maszyn i urządzeń
- Niby uziom ale nie
Najnowsze wątki
- 2025-05-03 gazowe kuchnie są znacznie bardziej szkodliwe dla zdrowia, niż dotychczas sądzono
- 2025-05-03 Czyli jednak elektryki są TANIE i powszechnie dostępne dla obywateli
- 2025-05-03 Elektryki do Morskiego Oka do utylizacji
- 2025-05-03 Crash testy na publicznej drodze - 4 BMW zderzone
- 2025-05-03 pojebane Google
- 2025-05-03 Brednie w wiki - hasło Dehomag
- 2025-05-03 gazowe kuchnie są znacznie bardziej szkodliwe dla zdrowia, niż dotychczas sądzono
- 2025-05-03 Chiny => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu <
- 2025-05-03 Gdańsk => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-05-03 Warszawa => Frontend Developer (Angular13+) <=
- 2025-05-02 Gliwice => Business Development Manager - Network and Network Security
- 2025-05-02 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-05-02 Polska => Senior Key Account Manager <=
- 2025-05-02 Warszawa => Senior Programmer C <=
- 2025-05-02 Gdańsk => Team Lead Data Engineer (Snowflake) <=