🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #217049

Re: Embedded HTTP Server

#217049
From: heby
Date: Wed, 10 Jun 2020 20:52
89 lines
5197 bytes
On 6/10/2020 8:57 PM, Maciej Sobczak wrote:
>> Bibliteka czyta/zapisuje zmienną globalną w implementacji callbacka.
>> Muszę ją obarierować
> Dlaczego musisz? Jeśli callbacki są szeregowane[*], to nie musisz.
> [*] Ale nie są.

Dlatego muszę.

>> i używać tej bariery w kodzie który nie ma NIC
>> wspólnego z serwerem HTTP.
> Eee... To po co używasz biblioteki HTTP?

Kod od manipulowania, powiedzmy, silnikami nic o jakims http nie wie. 
Ale razem pracuja na jednym cpu i moga mieć dostęp do tych samych 
zasobów jak np. zmienne okreslające położenie czy stan.

>> W ten sposób wątki z jakiejś bibliteki
>> agresywnie wymuszają na mnie zmiany kodu w miejscach odległych.
> Używasz zmiennej globalnej z odległych miejsc? Kiepsko.

W niektórych sytuacjah, jak opisywany sterwanik druku 3D, takim stanem 
jest bardzo duzo róznych małych detali. Gdzie jest glowica, jaka jest 
prędkośc itd itp.

> Dlaczego obwiniasz jakąś bibliotekę o problemy spowodowane złą architekturą Twojego programu?

Ona w tym zastosowaniu NIE jest zła. Jest wręcz jedyna sensowna przy 
200kB flasha.

>> Obecnie sterowniki mają zaszyte jakeiś ARMy po 100MHz. Mimo że to RT to
>> w zasadzie procesor ma sporo wolnego w tzw "międzyczasie". Dlaczego nie
>> miałby generować jakiegoś www?
> No więc skoro ma sporo wolnego, to jaki masz problem?

Poniewaz nie rozumiesz dlaczego można się wiekszośc czasu nudzić i 
jednoczesnie mieć problem z wyrobieniem się w zastosowaniach RT. Otórz 
twój preemptive multitasking powoduje że *akurat* w tym złosliwym 
przykładzie może to powodować konkretne skutki w postacji utraty jakości 
wydruku. Tylko dlatego że trzeba przełaczyc konteks kiedy glowica 
właśnie wjechala w materiał.

> I jakie proporcje w tym problemie?

Jakie sobie tylko wymyslisz.

> Na takich sprzętach ludzie wsadzają pełny RTOS

Na ARM7, powiedzmy, ma to już resztkę sensu.

>, pełny stos TCP

Nie jest potrzebny. Wystarczy kawalek.

>, chcą jeszcze serwer www i w tym wszystkim jest jakiś wyimaginowany problem z muteksem? Pomyliłeś proporcje.

Raczej "mam to na codzień".

> Zwłaszcza, że w takiej składance muteksów jest już nadziabanych jakieś kilkadziesiąt.

Zero.

>> Trudno to nazwać masochizmem że ktoś stara się wykorzystać CPU bez
>> dodatkowego point-of-failure jakim jest extra Pi robiące za serwer www.
> I dlatego wsadza serwer www do krytycznego kontrolera? Żeby nie mieć dodatkowego point-of-failure?

Tak. Albo dla wygody. Albo bo to modne. Rózne można miec powody.

> Ja na taką logikę nic nie poradzę i nikomu nie obiecuję swojego udziału.

I nikt nie obiecuje że uzyje w tym zastosowaniu. Dzień jak co dzień w 
OpenSource.

>> Masz wątki to i masz mutexy.
> Dalej nie pokazałeś, dlaczego.

Niezupełnie. Po prostu odrzucasz częśc rzewczywostości nie pasującej do 
zastosowania aktualnego. Wolno Ci.

> Ani też dlaczego to miałby być problem.

To też już zostało wyjasnione.

> To straszne.
> Najstraszniejsze jest jednak to, że się tak bardzo tym przejmujesz.

Czyli miałem rację. Nie chciałeś zapytać o porady co do kodu. Po prostu 
musisz sobie podsykutować z rosnącym poziomem adrenaliny.

Ale nuda. EOT.
Technical Details
Message-ID: <rbrh67$1v0$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin3!goblin.stu.neva.ru!paganini.bofh.team!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
References: <d423a072-9378-441b-ba06-e0657a1fa53bo@googlegroups.com> <rbg2hb$ebs$1@dont-email.me> <42ba89cb-8f2f-40a0-ac17-293f71f43f6fo@googlegroups.com> <rbgtv9$vuf$1@dont-email.me> <6a69d306-af0e-499c-bbdb-e74ae6d72a35o@googlegroups.com> <rbh5pi$gkn$1@dont-email.me> <8aa7b6ae-aa79-4a58-9717-e7c293363341o@googlegroups.com> <rbjlo6$dum$1@dont-email.me> <4e191a5e-e565-4e29-8dd5-bd6e5163061bo@googlegroups.com> <rbl1p9$sak$1@dont-email.me> <a939a6b9-a812-4011-81b1-82365df10111o@googlegroups.com> <rbmaac$cps$1@dont-email.me> <8ad576d7-4dd3-4cd7-ba53-2b3061289238o@googlegroups.com> <rbmcsp$utp$1@dont-email.me> <e088a6fa-05fa-46be-af00-07ea9023ab8bo@googlegroups.com> <rbosgc$7q4$1@dont-email.me> <05b9414f-00e5-4ed3-856a-366803697654o@googlegroups.com> <rbov5h$ol4$1@dont-email.me> <3328eb43-2a0c-4fe6-9215-8545d6a0ea44o@googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin3!goblin.stu.neva.ru!paganini.bofh.team!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: heby <heby@poczta.onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: Embedded HTTP Server
Date: Wed, 10 Jun 2020 22:52:21 +0200
Organization: A noiseless patient Spider
Lines: 89
Message-ID: <rbrh67$1v0$1@dont-email.me>
References: <d423a072-9378-441b-ba06-e0657a1fa53bo@googlegroups.com> <rbg2hb$ebs$1@dont-email.me> <42ba89cb-8f2f-40a0-ac17-293f71f43f6fo@googlegroups.com> <rbgtv9$vuf$1@dont-email.me> <6a69d306-af0e-499c-bbdb-e74ae6d72a35o@googlegroups.com> <rbh5pi$gkn$1@dont-email.me> <8aa7b6ae-aa79-4a58-9717-e7c293363341o@googlegroups.com> <rbjlo6$dum$1@dont-email.me> <4e191a5e-e565-4e29-8dd5-bd6e5163061bo@googlegroups.com> <rbl1p9$sak$1@dont-email.me> <a939a6b9-a812-4011-81b1-82365df10111o@googlegroups.com> <rbmaac$cps$1@dont-email.me> <8ad576d7-4dd3-4cd7-ba53-2b3061289238o@googlegroups.com> <rbmcsp$utp$1@dont-email.me> <e088a6fa-05fa-46be-af00-07ea9023ab8bo@googlegroups.com> <rbosgc$7q4$1@dont-email.me> <05b9414f-00e5-4ed3-856a-366803697654o@googlegroups.com> <rbov5h$ol4$1@dont-email.me> <3328eb43-2a0c-4fe6-9215-8545d6a0ea44o@googlegroups.com>
Mime-Version: 1.0
Injection-Date: Wed, 10 Jun 2020 20:52:23 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="f05653e916acdd733165328fe1f66178"; logging-data="2016"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19ayZB5qJ2jfHEYOdF9Q0j8"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0
Cancel-Lock: sha1:GkmvuWAVl3jJBhiqxh1fKfZnP9Q=
In-Reply-To: <3328eb43-2a0c-4fe6-9215-8545d6a0ea44o@googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit