-
X-Received: by 2002:ac8:7296:: with SMTP id v22mr16815147qto.239.1591480967887; Sat,
06 Jun 2020 15:02:47 -0700 (PDT)
X-Received: by 2002:ac8:7296:: with SMTP id v22mr16815147qto.239.1591480967887; Sat,
06 Jun 2020 15:02:47 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin1!goblin.stu.neva.r
u!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googleg
roups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sat, 6 Jun 2020 15:02:47 -0700 (PDT)
In-Reply-To: <rbgtv9$vuf$1@dont-email.me>
Complaints-To: g...@g...com
Injection-Info: google-groups.googlegroups.com; posting-host=213.108.152.51;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 213.108.152.51
References: <d...@g...com>
<rbg2hb$ebs$1@dont-email.me>
<4...@g...com>
<rbgtv9$vuf$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6...@g...com>
Subject: Re: Embedded HTTP Server
From: Maciej Sobczak <s...@g...com>
Injection-Date: Sat, 06 Jun 2020 22:02:48 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:214951
[ ukryj nagłówki ]
> Ogólnie abstrakcja na wątki była by też przydatna, w końcu może ktoś
> będzie chciał zmienić bibliotekę wątków na inną, tak jak właśnie w
> FreeRTOS gdzie to nie jest ani win ani posix.
Szkoda prądu. Przecież to jest open-source. Jak ktoś bedzie chciał wymienić
standardowe wątki na jakieś inne, to zmienia dosłownie w jednym miejscu to:
std::thread th(connection_thread, sock);
na co tam potrzebuje, no i może jeszcze sygnaturę wołanej funkcji. Robienie
abstrakcji na coś, co jest w jednej linijce, jest po prostu niepotrzebne. Łatwiej
zmienić tą jedną linijkę.
A jeszcze łatwiej zauważyć, że std::thread już jest tą abstrakcją - właśnie
abstrakcją czegoś natywnego, bez narzucania konkretnego rozwiązania. I dokładnie taki
jest sens istnienia tej klasy w std::. Więc jest też opcja podstawienia innej
implementacji tejże standardowej klasy.
Znowu - prawdziwy cyrk to stos TCP. To tam są smoki. Przerobienie tego serwera na
inne wątki to pikuś, ale przestawienie go na inny stos - i to tak, żeby zachować
abstrakcję IOStreams (które są z założenia *blokujące*), to już zupełnie inna zabawa.
> brakuje bibliotek w logiką na cooroutines,
To jest ciekawa uwaga. Pytanie, czy takie podejście ma swoją niszę rynkową, w której
mieści się taki przykładowy serwer HTTP.
Bo ja nie jestem przekonany, czy zawsze cały program trzeba robić jedną metodą. Może
raczej jest tak, że np. komunikację z urządzeniami fizycznymi można zrobić na
coroutinach, ale interfejsu użytkownika już nie warto.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 07.06.20 00:36 heby
- 07.06.20 21:46 Maciej Sobczak
- 07.06.20 23:21 heby
- 08.06.20 09:49 Maciej Sobczak
- 08.06.20 10:32 Mateusz Viste
- 08.06.20 11:39 Wojciech Muła
- 08.06.20 11:52 heby
- 08.06.20 12:25 Wojciech Muła
- 08.06.20 20:33 Maciej Sobczak
- 08.06.20 21:20 Maciej Sobczak
- 08.06.20 21:32 heby
- 08.06.20 22:43 Maciej Sobczak
- 08.06.20 23:24 heby
- 08.06.20 23:44 Maciej Sobczak
- 08.06.20 23:52 Maciej Sobczak
Najnowsze wątki z tej grupy
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
- Ada-Europe Conference - 6 March Extended Final Deadline
- Szybkie pytanko do fachowców od Bourne shella
Najnowsze wątki
- 2024-04-18 driver led ?
- 2024-04-17 Odzyskiwanie konta Google'a po utracie telefonu
- 2024-04-17 Domek na działce, zabezpieczenie tynku
- 2024-04-17 Zdalna rejestracja SIM
- 2024-04-17 Kraków => Regular - .Net Programmer <=
- 2024-04-17 Kraków => Senior PHP Developer (Symfony) <=
- 2024-04-17 Gdańsk => Technical Leader (Java Background) <=
- 2024-04-17 Warszawa => Sales Development Representative (SDR) <=
- 2024-04-17 Chrzanów => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-04-17 Długość wtyku zasilającego ?5.5mm
- 2024-04-17 Warszawa => International freight forwarder <=
- 2024-04-17 Re: BOUKUN
- 2024-04-17 Warszawa => Frontend (Vue.js) Developer ze znajomością Java <=
- 2024-04-17 Postanowienie o odmowie wszczęcia dochodzenia
- 2024-04-17 Re: BOUKUN