Libevent - Libevent
Vývojáři | Azat Khuzhin, Mark Ellzey, Nick Mathewson, Niels Provos |
---|---|
První vydání | 9. dubna 2002 |
Stabilní uvolnění | 2.1.11 / 1. srpna 2019[1] |
Úložiště | ![]() |
Napsáno | C |
Operační systém | Cross-platform |
Plošina | Unixový, Okna, OS X |
Typ | Síť Knihovna |
Licence | BSD[2] |
webová stránka | libevent |
libevent je softwarová knihovna který poskytuje asynchronní upozornění na události. Libevent API poskytuje mechanismus k provedení a zpětné volání funkce, když dojde ke konkrétní události na a deskriptor souboru nebo po a Časový limit bylo dosaženo. libevent také podporuje zpětná volání vyvolaná signály a pravidelné časové limity.
libevent má nahradit smyčka události nalezené v událostech síťové servery. Aplikace může jen zavolat event_dispatch ()
a poté dynamicky přidávat nebo odebírat události, aniž byste museli měnit smyčku událostí.
V současné době libevent podporuje / dev / hlasování
, kqueue (2)
POSIX vyberte (2)
, Okna IOCP, hlasování (2)
, epoll (7)
a Solaris porty událostí. Má také experimentální podporu pro signály v reálném čase. Rozhraní API vystavené události je jednotné na všech podporovaných platformách. Výsledkem je, že libevent umožňuje přenosný vývoj aplikací a poskytuje „nejvíce škálovatelné mechanismus upozornění na události dostupný v operačním systému ".[3]
Pomocí zpětných volání na signály umožňuje libevent psát „zabezpečené“ obslužné rutiny signálů, protože žádný z uživatelských kódů pro zpracování signálu není spuštěn v signálu kontext.
libevent vytvořil Niels Provos a je udržován primárně Nick Mathewson.[4] Je vydán pod a Licence BSD.[5]
Pozoruhodné aplikace
Některé z pozoruhodných aplikací, které využívají výhody libevent, jsou:
- Google Chrome: Webový prohlížeč Google (verze pro Mac a Linux)
- Memcached: vysoce výkonný systém ukládání do mezipaměti objektů distribuované paměti
- Přenos: klient BitTorrent s otevřeným zdrojovým kódem
- ntpd: Network Time Protocol démon
- Tor: anonymní internetový komunikační systém
- tmux: terminální multiplexor[6]
Alternativy
Hlavní verze verzí
- libevent 2.1 byl vydán 3. dubna 2012.
- libevent 2.0 byl vydán 17. dubna 2009.
- libevent 1.4 byl vydán 11. listopadu 2007.
- libevent 1.3 byl vydán 15. února 2007.
- libevent 1.2 byl vydán 15. října 2006.
- libevent 1.1 byl vydán 14. května 2005.
Reference
- ^ "libevent zprávy". Github. Citováno 30. srpna 2019.
- ^ "LICENCE". Github. Citováno 30. srpna 2019.
- ^ http://libevent.org/ Webová stránka Libevent
- ^ Mathewson, Nick. „Nick Mathewson“. Domovská stránka Nicka Mathewsona. Citováno 10. ledna 2015.
- ^ http://www.monkey.org/~provos/libevent/LICENCE Licence libevent
- ^ „tmux / README at Master - tmux / tmux - GitHub“.