XBUP - Proudové zpracováníTento dokument je součástí dokumentace projektu eXtensible Binary Universal Protocol. Obsahuje popis implementace proudového zpracování.
1. Proudové zpracování
1.1. Datový proud
1.2. Datový proud s omezením
2. Aspekty proudového zpracování
K práci s datovými proudy je možné přistupovat pomocí jejich proudového vyjádření.
Datovým proudem zde chápeme potenciálně nekonečnou posloupnost položek stejného typu (tokenů) s dobře definovaným uspořádáním.
Mějme množinu T všech tokenů. Pak datový proud s je definován jako funkce s:N → T. V případě protokolu XBUP pro tuto funkci dále platí omezení...
V běžných případech se lze setkat s datovými proudy na které je aplikována nějaká forma sekvenčního omezení. Proud je pak parciální funkce f(S), která zavisí na vnitřním stavu, ale obvykle lze vyjádřit jako závislost na předchozí hodnotě parametru funkce. Příkladem úplného sekvenčního omezení je úplná sekvence, kdy f(S,S') vrací hodnotu právě když je S přímým následníkem S', což znamená, že v datovém proudu se není možné pohybovat jinak než vpřed o právě jeden krok. Další možností je umožnění pohybu vpřed (skip) či zpět. Todo: Vytvořit exaknější definici s algoritmy. Běžné řešení je poskytnutí rozhraní pro čtení následujícího prvku a případně volitelně funkce pro pohyb v proudu.
Datové proudy je možné rozlišit podle typu položek datového proudu, způsobu řízení toku a množství předávané informace v jednom kroku. Kromě toho lze ještě uvažovat rozdílné rozhraní pro předávání položek (tokenů). Jednotlivé aspekty vedou k možným hierarchiím implementací.
Samotný návrh protokolu vede k použití odlišných typů položek na odpovídajících úrovních protokolu. Dále se rozlišuje zda má datový proud závislé či nezávislé typy bloků. Závislý typ je odvozený z hlavičky datového proudu a má pevně stanovené hodnoty typu, zatímco nezávislé typy jsou definovány pomocí objektu a před vlastní převodem na data je potřeba k nim vygenerovat obalující datovou hlavičku.
Kromě typu přenášených položek je možné u proudového zpracování uvažovat několik dalších aspektů:
Homepage: http://xbup.sf.net
License: GNU Free Documentation License (FDL)
Latest update: 2008-06-29