-
Data: 2020-06-07 00:02:47
Temat: Re: Embedded HTTP Server
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- 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
Najnowsze wątki
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-04-27 Warszawa => Senior Account Manager (on-site) <=
- 2024-04-27 Wrocław => Dyrektor Sprzedaży (branża usług/produktów IT) <=
- 2024-04-27 Warszawa => Sales Representative for Outsourcing Services <=
- 2024-04-27 Chrzanów => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-04-27 Ja pierdolę...
- 2024-04-27 Ryby i kawitacja
- 2024-04-27 Zabrze => Junior HelpDesk <=
- 2024-04-27 Katowice => Administrator IT - Wirtualizacja i Konteneryzacja <=
- 2024-04-27 Bażanowice => Inżynier Industrializacji - Elektronik <=
- 2024-04-27 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-04-27 Zadaszenie tarasu, a wymagany spadek