update
This commit is contained in:
+165
-165
@@ -26,202 +26,202 @@
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Úvod}{8}{section.1}\protected@file@percent }
|
||||
\BKM@entry{id=6,open,dest={73656374696F6E2E32},srcline={203}}{5C3337365C3337375C303030325C3030305C3034305C303030535C3030305C3335355C3030315C3134355C3030306F5C303030765C3030305C3335315C3030305C3034305C303030735C303030795C303030735C303030745C3030305C3335315C3030306D5C30303079}
|
||||
\BKM@entry{id=7,open,dest={73656374696F6E2E33},srcline={207}}{5C3337365C3337375C303030335C3030305C3034305C303030445C303030695C303030735C303030745C303030725C303030695C303030625C303030755C3030306F5C303030765C303030615C3030306E5C3030305C3335315C3030305C3034305C303030735C303030795C303030735C303030745C3030305C3335315C3030306D5C30303079}
|
||||
\BKM@entry{id=8,open,dest={73756273656374696F6E2E332E31},srcline={222}}{5C3337365C3337375C303030335C3030302E5C303030315C3030305C3034305C303030415C303030725C303030635C303030685C303030695C303030745C303030655C3030306B5C303030745C303030755C303030725C30303079}
|
||||
\BKM@entry{id=9,open,dest={73756273756273656374696F6E2E332E312E31},srcline={228}}{5C3337365C3337375C303030335C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030535C3030306F5C303030665C303030745C303030775C303030615C303030725C3030306F5C303030765C3030305C3334315C3030305C3034305C303030615C303030725C303030635C303030685C303030695C303030745C303030655C3030306B5C303030745C303030755C303030725C30303061}
|
||||
\BKM@entry{id=8,open,dest={73756273656374696F6E2E332E31},srcline={223}}{5C3337365C3337375C303030335C3030302E5C303030315C3030305C3034305C303030415C303030725C303030635C303030685C303030695C303030745C303030655C3030306B5C303030745C303030755C303030725C30303079}
|
||||
\BKM@entry{id=9,open,dest={73756273756273656374696F6E2E332E312E31},srcline={229}}{5C3337365C3337375C303030335C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030535C3030306F5C303030665C303030745C303030775C303030615C303030725C3030306F5C303030765C3030305C3334315C3030305C3034305C303030615C303030725C303030635C303030685C303030695C303030745C303030655C3030306B5C303030745C303030755C303030725C30303061}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Síťové systémy}{9}{section.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3}Distribuované systémy}{9}{section.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Architektury}{9}{subsection.3.1}\protected@file@percent }
|
||||
\BKM@entry{id=10,open,dest={73756273756273656374696F6E2E332E312E32},srcline={242}}{5C3337365C3337375C303030335C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030535C303030795C303030735C303030745C3030305C3335315C3030306D5C3030306F5C303030765C3030305C3335315C3030305C3034305C303030615C303030725C303030635C303030685C303030695C303030745C303030655C3030306B5C303030745C303030755C303030725C30303079}
|
||||
\BKM@entry{id=10,open,dest={73756273756273656374696F6E2E332E312E32},srcline={243}}{5C3337365C3337375C303030335C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030535C303030795C303030735C303030745C3030305C3335315C3030306D5C3030306F5C303030765C3030305C3335315C3030305C3034305C303030615C303030725C303030635C303030685C303030695C303030745C303030655C3030306B5C303030745C303030755C303030725C30303079}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.1}Softwarová architektura}{10}{subsubsection.3.1.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.1.2}Systémové architektury}{10}{subsubsection.3.1.2}\protected@file@percent }
|
||||
\newlabel{sec:system_architecture}{{3.1.2}{10}{Systémové architektury}{subsubsection.3.1.2}{}}
|
||||
\BKM@entry{id=11,open,dest={73756273656374696F6E2E332E32},srcline={257}}{5C3337365C3337375C303030335C3030302E5C303030325C3030305C3034305C3030304B5C3030306F5C3030306D5C303030755C3030306E5C303030695C3030306B5C303030615C303030635C30303065}
|
||||
\BKM@entry{id=12,open,dest={73756273756273656374696F6E2E332E322E31},srcline={270}}{5C3337365C3337375C303030335C3030302E5C303030325C3030302E5C303030315C3030305C3034305C3030304D5C3030306F5C303030645C303030655C3030306C5C303030795C3030305C3034305C303030705C303030725C3030306F5C3030305C3034305C3030306B5C3030306F5C3030306D5C303030755C3030306E5C303030695C3030306B5C303030615C303030635C30303069}
|
||||
\BKM@entry{id=11,open,dest={73756273656374696F6E2E332E32},srcline={258}}{5C3337365C3337375C303030335C3030302E5C303030325C3030305C3034305C3030304B5C3030306F5C3030306D5C303030755C3030306E5C303030695C3030306B5C303030615C303030635C30303065}
|
||||
\BKM@entry{id=12,open,dest={73756273756273656374696F6E2E332E322E31},srcline={269}}{5C3337365C3337375C303030335C3030302E5C303030325C3030302E5C303030315C3030305C3034305C3030304D5C3030306F5C303030645C303030655C3030306C5C303030795C3030305C3034305C303030705C303030725C3030306F5C3030305C3034305C3030306B5C3030306F5C3030306D5C303030755C3030306E5C303030695C3030306B5C303030615C303030635C30303069}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Komunikace}{11}{subsection.3.2}\protected@file@percent }
|
||||
\BKM@entry{id=13,open,dest={73756273656374696F6E2E332E33},srcline={292}}{5C3337365C3337375C303030335C3030302E5C303030335C3030305C3034305C303030505C3030306F5C3030315C3031355C3030305C3335355C303030745C303030615C3030315C3031355C3030306F5C303030765C3030305C3334315C3030305C3034305C303030535C3030305C3335355C3030315C313435}
|
||||
\BKM@entry{id=13,open,dest={73756273656374696F6E2E332E33},srcline={294}}{5C3337365C3337375C303030335C3030302E5C303030335C3030305C3034305C303030505C3030306F5C3030315C3031355C3030305C3335355C303030745C303030615C3030315C3031355C3030306F5C303030765C3030305C3334315C3030305C3034305C303030535C3030305C3335355C3030315C313435}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.2.1}Modely pro komunikaci}{12}{subsubsection.3.2.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Počítačová Síť}{12}{subsection.3.3}\protected@file@percent }
|
||||
\newlabel{sec:NetworkCommunication}{{3.3}{12}{Počítačová Síť}{subsection.3.3}{}}
|
||||
\BKM@entry{id=14,open,dest={73756273656374696F6E2E332E34},srcline={300}}{5C3337365C3337375C303030335C3030302E5C303030345C3030305C3034305C3030304B5C3030306F5C3030306D5C303030755C3030306E5C303030695C3030306B5C303030615C303030635C303030655C3030305C3034305C303030765C3030305C3034305C303030735C3030305C3335355C303030745C30303069}
|
||||
\BKM@entry{id=15,open,dest={73756273756273656374696F6E2E332E342E31},srcline={306}}{5C3337365C3337375C303030335C3030302E5C303030345C3030302E5C303030315C3030305C3034305C303030525C3030306F5C303030645C303030695C3030306E5C303030615C3030305C3034305C303030705C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C3030315C3135375C3030305C3034305C303030545C303030435C303030505C3030302F5C303030495C30303050}
|
||||
\BKM@entry{id=14,open,dest={73756273656374696F6E2E332E34},srcline={303}}{5C3337365C3337375C303030335C3030302E5C303030345C3030305C3034305C3030304B5C3030306F5C3030306D5C303030755C3030306E5C303030695C3030306B5C303030615C303030635C303030655C3030305C3034305C303030765C3030305C3034305C303030735C3030305C3335355C303030745C30303069}
|
||||
\BKM@entry{id=15,open,dest={73756273756273656374696F6E2E332E342E31},srcline={311}}{5C3337365C3337375C303030335C3030302E5C303030345C3030302E5C303030315C3030305C3034305C303030525C3030306F5C303030645C303030695C3030306E5C303030615C3030305C3034305C303030705C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C3030315C3135375C3030305C3034305C303030545C303030435C303030505C3030302F5C303030495C30303050}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Komunikace v síti}{13}{subsection.3.4}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.4.1}Rodina protokolů TCP/IP}{13}{subsubsection.3.4.1}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Vrstvená architektura TODO předělat}}{14}{figure.1}\protected@file@percent }
|
||||
\newlabel{fig:layer_architecture}{{1}{14}{Vrstvená architektura TODO předělat}{figure.1}{}}
|
||||
\BKM@entry{id=16,open,dest={73756273656374696F6E2E332E35},srcline={353}}{5C3337365C3337375C303030335C3030302E5C303030355C3030305C3034305C303030505C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C303030795C3030305C3034305C303030765C3030305C3034305C303030615C303030705C3030306C5C303030695C3030306B5C303030615C3030315C3031355C3030306E5C3030305C3335355C3030305C3034305C303030765C303030725C303030735C303030745C303030765C3030315C303333}
|
||||
\BKM@entry{id=17,open,dest={73756273756273656374696F6E2E332E352E31},srcline={357}}{5C3337365C3337375C303030335C3030302E5C303030355C3030302E5C303030315C3030305C3034305C303030485C303030545C303030545C30303050}
|
||||
\BKM@entry{id=16,open,dest={73756273656374696F6E2E332E35},srcline={360}}{5C3337365C3337375C303030335C3030302E5C303030355C3030305C3034305C303030505C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C303030795C3030305C3034305C303030765C3030305C3034305C303030615C303030705C3030306C5C303030695C3030306B5C303030615C3030315C3031355C3030306E5C3030305C3335355C3030305C3034305C303030765C303030725C303030735C303030745C303030765C3030315C303333}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Komunikace vrstev TCP/IP}}{15}{figure.2}\protected@file@percent }
|
||||
\newlabel{fig:tcpip}{{2}{15}{Komunikace vrstev TCP/IP}{figure.2}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Protokoly v aplikační vrstvě}{15}{subsection.3.5}\protected@file@percent }
|
||||
\BKM@entry{id=18,open,dest={73756273756273656374696F6E2E332E352E32},srcline={378}}{5C3337365C3337375C303030335C3030302E5C303030355C3030302E5C303030325C3030305C3034305C303030485C303030545C303030545C303030505C3030302F5C30303033}
|
||||
\BKM@entry{id=19,open,dest={73756273656374696F6E2E332E36},srcline={404}}{5C3337365C3337375C303030335C3030302E5C303030365C3030305C3034305C303030505C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C303030795C3030305C3034305C303030765C3030305C3034305C303030745C303030725C303030615C3030306E5C303030735C303030705C3030306F5C303030725C303030745C3030306E5C3030305C3335355C3030305C3034305C303030765C303030725C303030735C303030745C303030765C3030315C303333}
|
||||
\BKM@entry{id=17,open,dest={73756273756273656374696F6E2E332E352E31},srcline={364}}{5C3337365C3337375C303030335C3030302E5C303030355C3030302E5C303030315C3030305C3034305C303030485C303030545C303030545C30303050}
|
||||
\BKM@entry{id=18,open,dest={73756273756273656374696F6E2E332E352E32},srcline={385}}{5C3337365C3337375C303030335C3030302E5C303030355C3030302E5C303030325C3030305C3034305C303030485C303030545C303030545C303030505C3030302F5C30303033}
|
||||
\BKM@entry{id=19,open,dest={73756273656374696F6E2E332E36},srcline={411}}{5C3337365C3337375C303030335C3030302E5C303030365C3030305C3034305C303030505C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C303030795C3030305C3034305C303030765C3030305C3034305C303030745C303030725C303030615C3030306E5C303030735C303030705C3030306F5C303030725C303030745C3030306E5C3030305C3335355C3030305C3034305C303030765C303030725C303030735C303030745C303030765C3030315C303333}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Protokoly v aplikační vrstvě}{16}{subsection.3.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.1}HTTP}{16}{subsubsection.3.5.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.5.2}HTTP/3}{16}{subsubsection.3.5.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Protokoly v transportní vrstvě}{16}{subsection.3.6}\protected@file@percent }
|
||||
\BKM@entry{id=20,open,dest={73756273756273656374696F6E2E332E362E31},srcline={410}}{5C3337365C3337375C303030335C3030302E5C303030365C3030302E5C303030315C3030305C3034305C303030545C303030435C30303050}
|
||||
\BKM@entry{id=20,open,dest={73756273756273656374696F6E2E332E362E31},srcline={417}}{5C3337365C3337375C303030335C3030302E5C303030365C3030302E5C303030315C3030305C3034305C303030545C303030435C30303050}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Vizualizace HTTP/2 blokování}}{17}{figure.3}\protected@file@percent }
|
||||
\newlabel{fig:http_blocking}{{3}{17}{Vizualizace HTTP/2 blokování}{figure.3}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Protokoly v transportní vrstvě}{17}{subsection.3.6}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.1}TCP}{17}{subsubsection.3.6.1}\protected@file@percent }
|
||||
\BKM@entry{id=21,open,dest={73756273756273656374696F6E2E332E362E32},srcline={422}}{5C3337365C3337375C303030335C3030302E5C303030365C3030302E5C303030325C3030305C3034305C303030555C303030445C30303050}
|
||||
\BKM@entry{id=22,open,dest={73756273756273656374696F6E2E332E362E33},srcline={430}}{5C3337365C3337375C303030335C3030302E5C303030365C3030302E5C303030335C3030305C3034305C303030515C303030555C303030495C30303043}
|
||||
\BKM@entry{id=21,open,dest={73756273756273656374696F6E2E332E362E32},srcline={431}}{5C3337365C3337375C303030335C3030302E5C303030365C3030302E5C303030325C3030305C3034305C303030555C303030445C30303050}
|
||||
\BKM@entry{id=22,open,dest={73756273756273656374696F6E2E332E362E33},srcline={439}}{5C3337365C3337375C303030335C3030302E5C303030365C3030302E5C303030335C3030305C3034305C303030515C303030555C303030495C30303043}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.2}UDP}{18}{subsubsection.3.6.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.3}QUIC}{18}{subsubsection.3.6.3}\protected@file@percent }
|
||||
\BKM@entry{id=23,open,dest={73756273656374696F6E2E332E37},srcline={476}}{5C3337365C3337375C303030335C3030302E5C303030375C3030305C3034305C303030535C3030306F5C3030306B5C303030655C303030745C30303079}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces QUIC handshake}}{20}{figure.4}\protected@file@percent }
|
||||
\newlabel{fig:quic_handshake}{{4}{20}{QUIC handshake}{figure.4}{}}
|
||||
\BKM@entry{id=24,open,dest={73756273656374696F6E2E332E38},srcline={482}}{5C3337365C3337375C303030335C3030302E5C303030385C3030305C3034305C303030415C303030735C303030795C3030306E5C303030635C303030685C303030725C3030306F5C3030306E5C3030305C3335355C3030305C3034305C303030765C303030735C303030745C303030755C303030705C3030306E5C3030315C3033335C3030305C3034305C303030765C3030305C3337355C303030735C303030745C303030755C303030705C3030306E5C3030305C3335355C3030305C3034305C3030306F5C303030705C303030655C303030725C303030615C303030635C30303065}
|
||||
\BKM@entry{id=25,open,dest={73756273756273656374696F6E2E332E382E31},srcline={488}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030315C3030305C3034305C3030305A5C303030655C303030725C3030306F5C3030304D5C30303051}
|
||||
\BKM@entry{id=26,open,dest={73756273756273656374696F6E2E332E382E32},srcline={494}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030325C3030305C3034305C303030575C3030306F5C303030725C3030306B5C3030305C3034305C303030735C303030745C303030655C303030615C3030306C5C303030695C3030306E5C30303067}
|
||||
\BKM@entry{id=27,open,dest={73756273756273656374696F6E2E332E382E33},srcline={498}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030335C3030305C3034305C303030415C303030735C303030795C3030306E5C303030635C3030302F5C303030415C303030775C303030615C303030695C30303074}
|
||||
\BKM@entry{id=23,open,dest={73756273656374696F6E2E332E37},srcline={489}}{5C3337365C3337375C303030335C3030302E5C303030375C3030305C3034305C303030535C3030306F5C3030306B5C303030655C303030745C30303079}
|
||||
\BKM@entry{id=24,open,dest={73756273656374696F6E2E332E38},srcline={495}}{5C3337365C3337375C303030335C3030302E5C303030385C3030305C3034305C303030415C303030735C303030795C3030306E5C303030635C303030685C303030725C3030306F5C3030306E5C3030305C3335355C3030305C3034305C303030765C303030735C303030745C303030755C303030705C3030306E5C3030315C3033335C3030305C3034305C303030765C3030305C3337355C303030735C303030745C303030755C303030705C3030306E5C3030305C3335355C3030305C3034305C3030306F5C303030705C303030655C303030725C303030615C303030635C30303065}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces QUIC handshake}}{21}{figure.4}\protected@file@percent }
|
||||
\newlabel{fig:quic_handshake}{{4}{21}{QUIC handshake}{figure.4}{}}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Sokety}{21}{subsection.3.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {3.8}Asynchroní vstupně výstupní operace}{21}{subsection.3.8}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1}ZeroMQ}{21}{subsubsection.3.8.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.2}Work stealing}{21}{subsubsection.3.8.2}\protected@file@percent }
|
||||
\BKM@entry{id=28,open,dest={73756273756273656374696F6E2E332E382E34},srcline={507}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030345C3030305C3034305C303030425C3030306F5C3030306F5C303030735C303030745C3030305C3034305C303030415C303030735C303030695C3030306F}
|
||||
\BKM@entry{id=25,open,dest={73756273756273656374696F6E2E332E382E31},srcline={501}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030315C3030305C3034305C3030305A5C303030655C303030725C3030306F5C3030304D5C30303051}
|
||||
\BKM@entry{id=26,open,dest={73756273756273656374696F6E2E332E382E32},srcline={507}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030325C3030305C3034305C303030575C3030306F5C303030725C3030306B5C3030305C3034305C303030735C303030745C303030655C303030615C3030306C5C303030695C3030306E5C30303067}
|
||||
\BKM@entry{id=27,open,dest={73756273756273656374696F6E2E332E382E33},srcline={511}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030335C3030305C3034305C303030415C303030735C303030795C3030306E5C303030635C3030302F5C303030415C303030775C303030615C303030695C30303074}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.1}ZeroMQ}{22}{subsubsection.3.8.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.2}Work stealing}{22}{subsubsection.3.8.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.3}Async/Await}{22}{subsubsection.3.8.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.4}Boost Asio}{22}{subsubsection.3.8.4}\protected@file@percent }
|
||||
\BKM@entry{id=29,open,dest={73656374696F6E2E34},srcline={575}}{5C3337365C3337375C303030345C3030305C3034305C303030485C303030725C30303061}
|
||||
\BKM@entry{id=30,open,dest={73756273656374696F6E2E342E31},srcline={590}}{5C3337365C3337375C303030345C3030302E5C303030315C3030305C3034305C303030455C3030306E5C303030675C303030695C3030306E5C30303065}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Hra}{23}{section.4}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Engine}{23}{subsection.4.1}\protected@file@percent }
|
||||
\BKM@entry{id=31,open,dest={73756273756273656374696F6E2E342E312E31},srcline={615}}{5C3337365C3337375C303030345C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030465C303030795C3030307A5C303030695C303030635C3030306B5C3030305C3337355C3030305C3034305C303030655C3030306E5C303030675C303030695C3030306E5C30303065}
|
||||
\BKM@entry{id=32,open,dest={73756273756273656374696F6E2E342E312E32},srcline={623}}{5C3337365C3337375C303030345C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030565C303030795C3030306B5C303030725C303030655C303030735C3030306C5C3030306F5C303030765C3030305C3334315C3030306E5C3030305C333535}
|
||||
\BKM@entry{id=33,open,dest={73756273756273656374696F6E2E342E312E33},srcline={631}}{5C3337365C3337375C303030345C3030302E5C303030315C3030302E5C303030335C3030305C3034305C303030455C3030306E5C303030745C303030695C303030745C303030795C3030302D5C303030435C3030306F5C3030306D5C303030705C3030306F5C3030306E5C303030655C3030306E5C303030745C3030302D5C303030535C303030795C303030735C303030745C303030655C3030306D}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.1}Fyzický engine}{24}{subsubsection.4.1.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.2}Vykreslování}{24}{subsubsection.4.1.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3}Entity-Component-System}{24}{subsubsection.4.1.3}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Příklad použití knihovny Entt}{25}{lstlisting.1}\protected@file@percent }
|
||||
\BKM@entry{id=34,open,dest={73656374696F6E2E35},srcline={686}}{5C3337365C3337375C303030355C3030305C3034305C303030485C303030725C303030615C3030305C3034305C303030765C3030305C3335355C303030635C303030655C3030305C3034305C303030685C303030725C3030305C3334315C3030315C3031355C3030315C313537}
|
||||
\BKM@entry{id=35,open,dest={73756273656374696F6E2E352E31},srcline={708}}{5C3337365C3337375C303030355C3030302E5C303030315C3030305C3034305C303030535C303030655C303030725C303030765C303030655C30303072}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5}Hra více hráčů}{27}{section.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Server}{27}{subsection.5.1}\protected@file@percent }
|
||||
\BKM@entry{id=36,open,dest={73756273756273656374696F6E2E352E312E31},srcline={718}}{5C3337365C3337375C303030355C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030525C303030655C303030675C303030695C303030735C303030745C303030725C3030305C3034305C3030306B5C3030306C5C303030695C303030655C3030306E5C303030745C3030315C313537}
|
||||
\BKM@entry{id=37,open,dest={73756273756273656374696F6E2E352E312E32},srcline={724}}{5C3337365C3337375C303030355C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030535C303030655C303030725C303030765C303030655C303030725C3030305C3034305C303030525C303030655C303030705C3030306C5C303030695C3030306B5C3030305C3334315C303030745C3030306F5C303030725C30303075}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Softwarová architektura hry}}{28}{figure.5}\protected@file@percent }
|
||||
\newlabel{fig:client_server_architecture}{{5}{28}{Softwarová architektura hry}{figure.5}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1}Registr klientů}{28}{subsubsection.5.1.1}\protected@file@percent }
|
||||
\BKM@entry{id=38,open,dest={73756273756273656374696F6E2E352E312E33},srcline={728}}{5C3337365C3337375C303030355C3030302E5C303030315C3030302E5C303030335C3030305C3034305C303030535C303030705C303030725C3030305C3334315C303030765C303030615C3030305C3034305C3030307A5C3030305C3334315C3030306A5C3030306D5C3030315C313537}
|
||||
\BKM@entry{id=39,open,dest={73756273656374696F6E2E352E32},srcline={738}}{5C3337365C3337375C303030355C3030302E5C303030325C3030305C3034305C3030304B5C3030306C5C303030695C303030655C3030306E5C30303074}
|
||||
\BKM@entry{id=40,open,dest={73756273756273656374696F6E2E352E322E31},srcline={742}}{5C3337365C3337375C303030355C3030302E5C303030325C3030302E5C303030315C3030305C3034305C3030304B5C3030306C5C303030695C303030655C3030306E5C303030745C3030305C3034305C303030525C303030655C303030705C3030306C5C303030695C3030306B5C3030305C3334315C303030745C3030306F5C303030725C30303075}
|
||||
\BKM@entry{id=41,open,dest={73756273756273656374696F6E2E352E322E32},srcline={746}}{5C3337365C3337375C303030355C3030302E5C303030325C3030302E5C303030325C3030305C3034305C303030495C3030306E5C303030745C303030655C303030725C303030705C3030306F5C3030306C5C303030615C303030635C30303065}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2}Server Replikátoru}{29}{subsubsection.5.1.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.3}Správa zájmů}{29}{subsubsection.5.1.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Klient}{29}{subsection.5.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}Klient Replikátoru}{29}{subsubsection.5.2.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.2}Interpolace}{29}{subsubsection.5.2.2}\protected@file@percent }
|
||||
\BKM@entry{id=42,open,dest={73756273756273656374696F6E2E352E322E33},srcline={750}}{5C3337365C3337375C303030355C3030302E5C303030325C3030302E5C303030335C3030305C3034305C303030525C3030306F5C3030306C5C3030306C5C303030625C303030615C303030635C3030306B}
|
||||
\BKM@entry{id=43,open,dest={73756273656374696F6E2E352E33},srcline={760}}{5C3337365C3337375C303030355C3030302E5C303030335C3030305C3034305C303030505C3030306F5C303030735C3030305C3335355C3030306C5C3030305C3334315C3030306E5C3030305C3335355C3030305C3034305C3030307A5C303030705C303030725C3030305C3334315C30303076}
|
||||
\BKM@entry{id=44,open,dest={73756273756273656374696F6E2E352E332E31},srcline={773}}{5C3337365C3337375C303030355C3030302E5C303030335C3030302E5C303030315C3030305C3034305C3030304B5C3030305C3336335C303030645C3030306F5C303030765C3030305C3334315C3030306E5C3030305C3335355C3030305C3034305C3030307A5C303030705C303030725C3030305C3334315C30303076}
|
||||
\BKM@entry{id=45,open,dest={73756273756273656374696F6E2E352E332E32},srcline={781}}{5C3337365C3337375C303030355C3030302E5C303030335C3030302E5C303030325C3030305C3034305C303030495C3030306D5C303030705C3030306C5C303030655C3030306D5C303030655C3030306E5C303030745C303030615C303030635C30303065}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3}Rollback}{30}{subsubsection.5.2.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Posílání zpráv}{30}{subsection.5.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.1}Kódování zpráv}{30}{subsubsection.5.3.1}\protected@file@percent }
|
||||
\BKM@entry{id=46,open,dest={73756273756273656374696F6E2E352E332E33},srcline={785}}{5C3337365C3337375C303030355C3030302E5C303030335C3030302E5C303030335C3030305C3034305C303030445C303030655C303030745C303030655C3030306B5C303030635C303030655C3030305C3034305C303030615C3030305C3034305C3030306E5C3030305C3334315C303030705C303030725C303030615C303030765C303030615C3030305C3034305C303030635C303030685C303030795C30303062}
|
||||
\BKM@entry{id=47,open,dest={73756273656374696F6E2E352E34},srcline={792}}{5C3337365C3337375C303030355C3030302E5C303030345C3030305C3034305C303030535C303030655C303030725C303030695C303030615C3030306C5C303030695C3030307A5C303030615C303030635C30303065}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.2}Implementace}{31}{subsubsection.5.3.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.3}Detekce a náprava chyb}{31}{subsubsection.5.3.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Serializace}{31}{subsection.5.4}\protected@file@percent }
|
||||
\BKM@entry{id=48,open,dest={73756273656374696F6E2E352E35},srcline={824}}{5C3337365C3337375C303030355C3030302E5C303030355C3030305C3034305C303030505C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C3030305C3034305C303030515C303030555C303030495C303030435C30303072}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}cpp}{32}{lstlisting.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5}Protokol QUICr}{32}{subsection.5.5}\protected@file@percent }
|
||||
\BKM@entry{id=49,open,dest={73756273756273656374696F6E2E352E352E31},srcline={837}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030315C3030305C3034305C303030525C3030305C3334315C3030306D5C303030635C30303065}
|
||||
\BKM@entry{id=50,open,dest={73756273756273656374696F6E2E352E352E32},srcline={850}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030325C3030305C3034305C303030485C303030615C3030306E5C303030645C303030735C303030685C303030615C3030306B5C30303065}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.1}Rámce}{33}{subsubsection.5.5.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.2}Handshake}{33}{subsubsection.5.5.2}\protected@file@percent }
|
||||
\BKM@entry{id=51,open,dest={73756273756273656374696F6E2E352E352E33},srcline={884}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030335C3030305C3034305C303030535C303030705C3030306F5C3030306C5C303030655C303030685C3030306C5C303030695C303030765C3030306F5C303030735C30303074}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Stavový stroj QUICr handshake}}{34}{figure.6}\protected@file@percent }
|
||||
\newlabel{fig:quicr_handshake}{{6}{34}{Stavový stroj QUICr handshake}{figure.6}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.3}Spolehlivost}{34}{subsubsection.5.5.3}\protected@file@percent }
|
||||
\newlabel{sec:quicr_reliability}{{5.5.3}{34}{Spolehlivost}{subsubsection.5.5.3}{}}
|
||||
\BKM@entry{id=52,open,dest={73756273756273656374696F6E2E352E352E34},srcline={906}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030345C3030305C3034305C303030455C3030306E5C3030306B5C3030306F5C303030645C3030305C3335315C30303072}
|
||||
\BKM@entry{id=53,open,dest={73756273756273656374696F6E2E352E352E35},srcline={914}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030355C3030305C3034305C303030545C303030655C303030735C303030745C3030306F5C303030765C3030305C3334315C3030306E5C3030305C333535}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.4}Enkodér}{35}{subsubsection.5.5.4}\protected@file@percent }
|
||||
\BKM@entry{id=54,open,dest={73756273756273656374696F6E2E352E352E36},srcline={945}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030365C3030305C3034305C303030435C3030306F5C3030306E5C303030675C303030655C303030735C303030745C303030695C3030306F5C3030306E5C3030305C3034305C303030635C3030306F5C3030306E5C303030745C303030725C3030306F5C3030306C}
|
||||
\BKM@entry{id=55,open,dest={73756273756273656374696F6E2E352E352E37},srcline={947}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030375C3030305C3034305C303030425C303030615C3030306E5C303030645C303030775C303030695C303030645C303030745C303030685C3030305C3034305C303030635C3030306F5C3030306E5C303030745C303030725C3030306F5C3030306C}
|
||||
\BKM@entry{id=56,open,dest={73756273656374696F6E2E352E36},srcline={951}}{5C3337365C3337375C303030355C3030302E5C303030365C3030305C3034305C303030535C303030685C303030615C303030725C303030645C303030695C3030306E5C30303067}
|
||||
\BKM@entry{id=57,open,dest={73756273656374696F6E2E352E37},srcline={955}}{5C3337365C3337375C303030355C3030302E5C303030375C3030305C3034305C303030485C3030306F5C303030725C303030695C3030307A5C3030306F5C3030306E5C303030745C3030305C3334315C3030306C5C3030306E5C3030305C3335355C3030305C3034305C3030315C3134315C3030306B5C3030305C3334315C3030306C5C3030306F5C303030765C3030305C3334315C3030306E5C3030305C333535}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.5}Testování}{36}{subsubsection.5.5.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.6}Congestion control}{36}{subsubsection.5.5.6}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.7}Bandwidth control}{36}{subsubsection.5.5.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6}Sharding}{36}{subsection.5.6}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.7}Horizontální škálování}{36}{subsection.5.7}\protected@file@percent }
|
||||
\BKM@entry{id=58,open,dest={73656374696F6E2E36},srcline={975}}{5C3337365C3337375C303030365C3030305C3034305C303030565C3030305C3337355C303030735C3030306C5C303030655C303030645C3030306E5C3030305C3334315C3030305C3034305C303030685C303030725C30303061}
|
||||
\BKM@entry{id=59,open,dest={73656374696F6E2E37},srcline={981}}{5C3337365C3337375C303030375C3030305C3034305C3030304D5C3030315C3033335C3030315C3133315C3030315C3033335C3030306E5C3030305C333535}
|
||||
\BKM@entry{id=60,open,dest={73756273656374696F6E2E372E31},srcline={984}}{5C3337365C3337375C303030375C3030302E5C303030315C3030305C3034305C3030304D5C303030655C303030745C303030725C303030695C3030306B5C30303079}
|
||||
\newlabel{fig:zone_cluster_architecture}{{5.7}{37}{Horizontální škálování}{subsection.5.7}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Architektura systému s zone clusterem}}{37}{figure.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6}Výsledná hra}{37}{section.6}\protected@file@percent }
|
||||
\BKM@entry{id=61,open,dest={73756273756273656374696F6E2E372E312E31},srcline={988}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030505C3030306F5C303030735C303030745C303030675C303030725C303030655C303030535C303030515C3030304C}
|
||||
\BKM@entry{id=62,open,dest={73756273756273656374696F6E2E372E312E32},srcline={992}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030545C303030695C3030306D5C303030655C303030735C303030635C303030615C3030306C5C303030655C303030445C30303042}
|
||||
\BKM@entry{id=63,open,dest={73756273756273656374696F6E2E372E312E33},srcline={996}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030335C3030305C3034305C303030475C303030725C303030615C303030665C303030615C3030306E5C30303061}
|
||||
\BKM@entry{id=64,open,dest={73756273756273656374696F6E2E372E312E34},srcline={1008}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030345C3030305C3034305C3030304F5C303030725C303030635C303030685C303030655C303030735C303030745C303030725C303030615C303030635C30303065}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {7}Měřění}{38}{section.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Metriky}{38}{subsection.7.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.1}PostgreSQL}{38}{subsubsection.7.1.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2}TimescaleDB}{38}{subsubsection.7.1.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3}Grafana}{38}{subsubsection.7.1.3}\protected@file@percent }
|
||||
\BKM@entry{id=65,open,dest={73756273756273656374696F6E2E372E312E35},srcline={1014}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030355C3030305C3034305C303030495C3030306D5C303030475C303030755C30303069}
|
||||
\BKM@entry{id=66,open,dest={73756273756273656374696F6E2E372E312E36},srcline={1020}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030365C3030305C3034305C303030545C303030725C303030615C303030635C30303079}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Příklad Grafana dashboardu}}{39}{figure.8}\protected@file@percent }
|
||||
\newlabel{fig:grafana}{{8}{39}{Příklad Grafana dashboardu}{figure.8}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.4}Orchestrace}{39}{subsubsection.7.1.4}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.5}ImGui}{39}{subsubsection.7.1.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.6}Tracy}{39}{subsubsection.7.1.6}\protected@file@percent }
|
||||
\BKM@entry{id=67,open,dest={73756273756273656374696F6E2E372E312E37},srcline={1036}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030375C3030305C3034305C3030304B5C3030306F5C3030306E5C3030306B5C303030725C3030305C3335315C303030745C3030306E5C3030305C3335355C3030305C3034305C3030306D5C303030655C303030745C303030725C303030695C3030306B5C30303079}
|
||||
\BKM@entry{id=68,open,dest={73756273756273656374696F6E2E372E312E38},srcline={1052}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030385C3030305C3034305C303030535C303030625C3030305C3335355C303030725C3030305C3334315C3030306E5C3030305C3335355C3030305C3034305C303030765C3030305C3034305C303030725C303030655C3030305C3334315C3030306C5C3030306E5C3030305C3335315C3030306D5C3030305C3034305C3030315C3031355C303030615C303030735C30303065}
|
||||
\BKM@entry{id=69,open,dest={73756273656374696F6E2E372E32},srcline={1057}}{5C3337365C3337375C303030375C3030302E5C303030325C3030305C3034305C303030515C303030555C303030495C303030435C30303072}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Jeden snímek v Tracy}}{40}{figure.9}\protected@file@percent }
|
||||
\newlabel{fig:frame_in_tracy}{{9}{40}{Jeden snímek v Tracy}{figure.9}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.7}Konkrétní metriky}{40}{subsubsection.7.1.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.8}Sbírání v reálném čase}{40}{subsubsection.7.1.8}\protected@file@percent }
|
||||
\BKM@entry{id=70,open,dest={73756273656374696F6E2E372E33},srcline={1102}}{5C3337365C3337375C303030375C3030302E5C303030335C3030305C3034305C3030304F5C303030705C303030745C303030695C3030306D5C303030615C3030306C5C303030695C3030307A5C303030615C303030635C303030655C3030305C3034305C303030725C303030655C303030705C3030306C5C303030695C3030306B5C3030305C3334315C303030745C3030306F5C303030725C30303075}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}QUICr}{41}{subsection.7.2}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}Příklad volání TC}{41}{lstlisting.3}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Porovnání odezvy TCP a QUICr}}{42}{figure.10}\protected@file@percent }
|
||||
\newlabel{fig:latencycomparison}{{10}{42}{Porovnání odezvy TCP a QUICr}{figure.10}{}}
|
||||
\newlabel{fig:integrationcomparison}{{7.2}{42}{QUICr}{figure.10}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Porovnání integrace TCP a QUICr}}{42}{figure.11}\protected@file@percent }
|
||||
\newlabel{fig:playerbenchmark}{{7.2}{43}{QUICr}{figure.11}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces 301 připojených hráčů}}{43}{figure.12}\protected@file@percent }
|
||||
\newlabel{fig:tracyreplicator}{{7.3}{43}{Optimalizace replikátoru}{subsection.7.3}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {13}{\ignorespaces Analýza replikátoru}}{43}{figure.13}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Optimalizace replikátoru}{43}{subsection.7.3}\protected@file@percent }
|
||||
\newlabel{fig:ecs_optimization_tracy_01}{{7.3}{44}{Optimalizace replikátoru}{figure.13}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces Analýza optimalizace replikátoru pro ECS}}{44}{figure.14}\protected@file@percent }
|
||||
\newlabel{fig:ecs_optimization_tracy_02}{{7.3}{44}{Optimalizace replikátoru}{figure.14}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces Analýza optimalizace replikátoru pro ECS}}{44}{figure.15}\protected@file@percent }
|
||||
\BKM@entry{id=71,open,dest={73756273656374696F6E2E372E34},srcline={1155}}{5C3337365C3337375C303030375C3030302E5C303030345C3030305C3034305C3030304F5C303030705C303030745C303030695C3030306D5C303030615C3030306C5C303030695C3030307A5C303030615C303030635C303030655C3030305C3034305C3030306D5C303030615C3030306E5C303030615C3030315C3137365C303030655C303030725C303030615C3030305C3034305C3030307A5C3030305C3334315C3030306A5C3030306D5C3030315C313537}
|
||||
\BKM@entry{id=72,open,dest={73756273656374696F6E2E372E35},srcline={1185}}{5C3337365C3337375C303030375C3030302E5C303030355C3030305C3034305C3030305A5C3030305C3334315C303030765C3030315C3033335C303030725C30303079}
|
||||
\newlabel{table:serialization_comparison}{{7.3}{45}{Optimalizace replikátoru}{figure.15}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {16}{\ignorespaces Porovnání serializátorů}}{45}{figure.16}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {7.4}Optimalizace manažera zájmů}{45}{subsection.7.4}\protected@file@percent }
|
||||
\newlabel{table:range_query_comparison}{{7.4}{46}{Optimalizace manažera zájmů}{subsection.7.4}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {17}{\ignorespaces Porovnání algoritmů}}{46}{figure.17}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {7.5}Závěry}{46}{subsection.7.5}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}Sazba závěrů}{46}{lstlisting.4}\protected@file@percent }
|
||||
\BKM@entry{id=73,open,dest={73656374696F6E2A2E33},srcline={1206}}{5C3337365C3337375C3030305A5C3030305C3334315C303030765C3030315C3033335C30303072}
|
||||
\@writefile{toc}{\contentsline {section}{Z\'av\v er}{47}{section*.3}\protected@file@percent }
|
||||
\BKM@entry{id=28,open,dest={73756273756273656374696F6E2E332E382E34},srcline={520}}{5C3337365C3337375C303030335C3030302E5C303030385C3030302E5C303030345C3030305C3034305C303030425C3030306F5C3030306F5C303030735C303030745C3030305C3034305C303030415C303030735C303030695C3030306F}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.8.4}Boost Asio}{23}{subsubsection.3.8.4}\protected@file@percent }
|
||||
\BKM@entry{id=29,open,dest={73656374696F6E2E34},srcline={588}}{5C3337365C3337375C303030345C3030305C3034305C303030485C303030725C30303061}
|
||||
\BKM@entry{id=30,open,dest={73756273656374696F6E2E342E31},srcline={603}}{5C3337365C3337375C303030345C3030302E5C303030315C3030305C3034305C303030455C3030306E5C303030675C303030695C3030306E5C30303065}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Hra}{24}{section.4}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Engine}{24}{subsection.4.1}\protected@file@percent }
|
||||
\BKM@entry{id=31,open,dest={73756273756273656374696F6E2E342E312E31},srcline={628}}{5C3337365C3337375C303030345C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030465C303030795C3030307A5C303030695C303030635C3030306B5C3030305C3337355C3030305C3034305C303030655C3030306E5C303030675C303030695C3030306E5C30303065}
|
||||
\BKM@entry{id=32,open,dest={73756273756273656374696F6E2E342E312E32},srcline={636}}{5C3337365C3337375C303030345C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030565C303030795C3030306B5C303030725C303030655C303030735C3030306C5C3030306F5C303030765C3030305C3334315C3030306E5C3030305C333535}
|
||||
\BKM@entry{id=33,open,dest={73756273756273656374696F6E2E342E312E33},srcline={644}}{5C3337365C3337375C303030345C3030302E5C303030315C3030302E5C303030335C3030305C3034305C303030455C3030306E5C303030745C303030695C303030745C303030795C3030302D5C303030435C3030306F5C3030306D5C303030705C3030306F5C3030306E5C303030655C3030306E5C303030745C3030302D5C303030535C303030795C303030735C303030745C303030655C3030306D}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.1}Fyzický engine}{25}{subsubsection.4.1.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.2}Vykreslování}{25}{subsubsection.4.1.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {4.1.3}Entity-Component-System}{25}{subsubsection.4.1.3}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Příklad použití knihovny Entt}{26}{lstlisting.1}\protected@file@percent }
|
||||
\BKM@entry{id=34,open,dest={73656374696F6E2E35},srcline={699}}{5C3337365C3337375C303030355C3030305C3034305C303030485C303030725C303030615C3030305C3034305C303030765C3030305C3335355C303030635C303030655C3030305C3034305C303030685C303030725C3030305C3334315C3030315C3031355C3030315C313537}
|
||||
\BKM@entry{id=35,open,dest={73756273656374696F6E2E352E31},srcline={721}}{5C3337365C3337375C303030355C3030302E5C303030315C3030305C3034305C303030535C303030655C303030725C303030765C303030655C30303072}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {5}Hra více hráčů}{28}{section.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Server}{28}{subsection.5.1}\protected@file@percent }
|
||||
\BKM@entry{id=36,open,dest={73756273756273656374696F6E2E352E312E31},srcline={731}}{5C3337365C3337375C303030355C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030525C303030655C303030675C303030695C303030735C303030745C303030725C3030305C3034305C3030306B5C3030306C5C303030695C303030655C3030306E5C303030745C3030315C313537}
|
||||
\BKM@entry{id=37,open,dest={73756273756273656374696F6E2E352E312E32},srcline={737}}{5C3337365C3337375C303030355C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030535C303030655C303030725C303030765C303030655C303030725C3030305C3034305C303030525C303030655C303030705C3030306C5C303030695C3030306B5C3030305C3334315C303030745C3030306F5C303030725C30303075}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Softwarová architektura hry}}{29}{figure.5}\protected@file@percent }
|
||||
\newlabel{fig:client_server_architecture}{{5}{29}{Softwarová architektura hry}{figure.5}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.1}Registr klientů}{29}{subsubsection.5.1.1}\protected@file@percent }
|
||||
\BKM@entry{id=38,open,dest={73756273756273656374696F6E2E352E312E33},srcline={741}}{5C3337365C3337375C303030355C3030302E5C303030315C3030302E5C303030335C3030305C3034305C303030535C303030705C303030725C3030305C3334315C303030765C303030615C3030305C3034305C3030307A5C3030305C3334315C3030306A5C3030306D5C3030315C313537}
|
||||
\BKM@entry{id=39,open,dest={73756273656374696F6E2E352E32},srcline={751}}{5C3337365C3337375C303030355C3030302E5C303030325C3030305C3034305C3030304B5C3030306C5C303030695C303030655C3030306E5C30303074}
|
||||
\BKM@entry{id=40,open,dest={73756273756273656374696F6E2E352E322E31},srcline={755}}{5C3337365C3337375C303030355C3030302E5C303030325C3030302E5C303030315C3030305C3034305C3030304B5C3030306C5C303030695C303030655C3030306E5C303030745C3030305C3034305C303030525C303030655C303030705C3030306C5C303030695C3030306B5C3030305C3334315C303030745C3030306F5C303030725C30303075}
|
||||
\BKM@entry{id=41,open,dest={73756273756273656374696F6E2E352E322E32},srcline={759}}{5C3337365C3337375C303030355C3030302E5C303030325C3030302E5C303030325C3030305C3034305C303030495C3030306E5C303030745C303030655C303030725C303030705C3030306F5C3030306C5C303030615C303030635C30303065}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2}Server Replikátoru}{30}{subsubsection.5.1.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.3}Správa zájmů}{30}{subsubsection.5.1.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Klient}{30}{subsection.5.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.1}Klient Replikátoru}{30}{subsubsection.5.2.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.2}Interpolace}{30}{subsubsection.5.2.2}\protected@file@percent }
|
||||
\BKM@entry{id=42,open,dest={73756273756273656374696F6E2E352E322E33},srcline={763}}{5C3337365C3337375C303030355C3030302E5C303030325C3030302E5C303030335C3030305C3034305C303030525C3030306F5C3030306C5C3030306C5C303030625C303030615C303030635C3030306B}
|
||||
\BKM@entry{id=43,open,dest={73756273656374696F6E2E352E33},srcline={773}}{5C3337365C3337375C303030355C3030302E5C303030335C3030305C3034305C303030505C3030306F5C303030735C3030305C3335355C3030306C5C3030305C3334315C3030306E5C3030305C3335355C3030305C3034305C3030307A5C303030705C303030725C3030305C3334315C30303076}
|
||||
\BKM@entry{id=44,open,dest={73756273756273656374696F6E2E352E332E31},srcline={786}}{5C3337365C3337375C303030355C3030302E5C303030335C3030302E5C303030315C3030305C3034305C3030304B5C3030305C3336335C303030645C3030306F5C303030765C3030305C3334315C3030306E5C3030305C3335355C3030305C3034305C3030307A5C303030705C303030725C3030305C3334315C30303076}
|
||||
\BKM@entry{id=45,open,dest={73756273756273656374696F6E2E352E332E32},srcline={794}}{5C3337365C3337375C303030355C3030302E5C303030335C3030302E5C303030325C3030305C3034305C303030495C3030306D5C303030705C3030306C5C303030655C3030306D5C303030655C3030306E5C303030745C303030615C303030635C30303065}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.2.3}Rollback}{31}{subsubsection.5.2.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Posílání zpráv}{31}{subsection.5.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.1}Kódování zpráv}{31}{subsubsection.5.3.1}\protected@file@percent }
|
||||
\BKM@entry{id=46,open,dest={73756273756273656374696F6E2E352E332E33},srcline={798}}{5C3337365C3337375C303030355C3030302E5C303030335C3030302E5C303030335C3030305C3034305C303030445C303030655C303030745C303030655C3030306B5C303030635C303030655C3030305C3034305C303030615C3030305C3034305C3030306E5C3030305C3334315C303030705C303030725C303030615C303030765C303030615C3030305C3034305C303030635C303030685C303030795C30303062}
|
||||
\BKM@entry{id=47,open,dest={73756273656374696F6E2E352E34},srcline={805}}{5C3337365C3337375C303030355C3030302E5C303030345C3030305C3034305C303030535C303030655C303030725C303030695C303030615C3030306C5C303030695C3030307A5C303030615C303030635C30303065}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.2}Implementace}{32}{subsubsection.5.3.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.3.3}Detekce a náprava chyb}{32}{subsubsection.5.3.3}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Serializace}{32}{subsection.5.4}\protected@file@percent }
|
||||
\BKM@entry{id=48,open,dest={73756273656374696F6E2E352E35},srcline={837}}{5C3337365C3337375C303030355C3030302E5C303030355C3030305C3034305C303030505C303030725C3030306F5C303030745C3030306F5C3030306B5C3030306F5C3030306C5C3030305C3034305C303030515C303030555C303030495C303030435C30303072}
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}cpp}{33}{lstlisting.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.5}Protokol QUICr}{33}{subsection.5.5}\protected@file@percent }
|
||||
\BKM@entry{id=49,open,dest={73756273756273656374696F6E2E352E352E31},srcline={850}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030315C3030305C3034305C303030525C3030305C3334315C3030306D5C303030635C30303065}
|
||||
\BKM@entry{id=50,open,dest={73756273756273656374696F6E2E352E352E32},srcline={863}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030325C3030305C3034305C303030485C303030615C3030306E5C303030645C303030735C303030685C303030615C3030306B5C30303065}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.1}Rámce}{34}{subsubsection.5.5.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.2}Handshake}{34}{subsubsection.5.5.2}\protected@file@percent }
|
||||
\BKM@entry{id=51,open,dest={73756273756273656374696F6E2E352E352E33},srcline={897}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030335C3030305C3034305C303030535C303030705C3030306F5C3030306C5C303030655C303030685C3030306C5C303030695C303030765C3030306F5C303030735C30303074}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces Stavový stroj QUICr handshake}}{35}{figure.6}\protected@file@percent }
|
||||
\newlabel{fig:quicr_handshake}{{6}{35}{Stavový stroj QUICr handshake}{figure.6}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.3}Spolehlivost}{35}{subsubsection.5.5.3}\protected@file@percent }
|
||||
\newlabel{sec:quicr_reliability}{{5.5.3}{35}{Spolehlivost}{subsubsection.5.5.3}{}}
|
||||
\BKM@entry{id=52,open,dest={73756273756273656374696F6E2E352E352E34},srcline={919}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030345C3030305C3034305C303030455C3030306E5C3030306B5C3030306F5C303030645C3030305C3335315C30303072}
|
||||
\BKM@entry{id=53,open,dest={73756273756273656374696F6E2E352E352E35},srcline={927}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030355C3030305C3034305C303030545C303030655C303030735C303030745C3030306F5C303030765C3030305C3334315C3030306E5C3030305C333535}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.4}Enkodér}{36}{subsubsection.5.5.4}\protected@file@percent }
|
||||
\BKM@entry{id=54,open,dest={73756273756273656374696F6E2E352E352E36},srcline={958}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030365C3030305C3034305C303030435C3030306F5C3030306E5C303030675C303030655C303030735C303030745C303030695C3030306F5C3030306E5C3030305C3034305C303030635C3030306F5C3030306E5C303030745C303030725C3030306F5C3030306C}
|
||||
\BKM@entry{id=55,open,dest={73756273756273656374696F6E2E352E352E37},srcline={960}}{5C3337365C3337375C303030355C3030302E5C303030355C3030302E5C303030375C3030305C3034305C303030425C303030615C3030306E5C303030645C303030775C303030695C303030645C303030745C303030685C3030305C3034305C303030635C3030306F5C3030306E5C303030745C303030725C3030306F5C3030306C}
|
||||
\BKM@entry{id=56,open,dest={73756273656374696F6E2E352E36},srcline={964}}{5C3337365C3337375C303030355C3030302E5C303030365C3030305C3034305C303030535C303030685C303030615C303030725C303030645C303030695C3030306E5C30303067}
|
||||
\BKM@entry{id=57,open,dest={73756273656374696F6E2E352E37},srcline={968}}{5C3337365C3337375C303030355C3030302E5C303030375C3030305C3034305C303030485C3030306F5C303030725C303030695C3030307A5C3030306F5C3030306E5C303030745C3030305C3334315C3030306C5C3030306E5C3030305C3335355C3030305C3034305C3030315C3134315C3030306B5C3030305C3334315C3030306C5C3030306F5C303030765C3030305C3334315C3030306E5C3030305C333535}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.5}Testování}{37}{subsubsection.5.5.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.6}Congestion control}{37}{subsubsection.5.5.6}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.7}Bandwidth control}{37}{subsubsection.5.5.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.6}Sharding}{37}{subsection.5.6}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {5.7}Horizontální škálování}{37}{subsection.5.7}\protected@file@percent }
|
||||
\BKM@entry{id=58,open,dest={73656374696F6E2E36},srcline={988}}{5C3337365C3337375C303030365C3030305C3034305C303030565C3030305C3337355C303030735C3030306C5C303030655C303030645C3030306E5C3030305C3334315C3030305C3034305C303030685C303030725C30303061}
|
||||
\BKM@entry{id=59,open,dest={73656374696F6E2E37},srcline={994}}{5C3337365C3337375C303030375C3030305C3034305C3030304D5C3030315C3033335C3030315C3133315C3030315C3033335C3030306E5C3030305C333535}
|
||||
\BKM@entry{id=60,open,dest={73756273656374696F6E2E372E31},srcline={997}}{5C3337365C3337375C303030375C3030302E5C303030315C3030305C3034305C3030304D5C303030655C303030745C303030725C303030695C3030306B5C30303079}
|
||||
\newlabel{fig:zone_cluster_architecture}{{5.7}{38}{Horizontální škálování}{subsection.5.7}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {7}{\ignorespaces Architektura systému s zone clusterem}}{38}{figure.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {6}Výsledná hra}{38}{section.6}\protected@file@percent }
|
||||
\BKM@entry{id=61,open,dest={73756273756273656374696F6E2E372E312E31},srcline={1001}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030315C3030305C3034305C303030505C3030306F5C303030735C303030745C303030675C303030725C303030655C303030535C303030515C3030304C}
|
||||
\BKM@entry{id=62,open,dest={73756273756273656374696F6E2E372E312E32},srcline={1005}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030325C3030305C3034305C303030545C303030695C3030306D5C303030655C303030735C303030635C303030615C3030306C5C303030655C303030445C30303042}
|
||||
\BKM@entry{id=63,open,dest={73756273756273656374696F6E2E372E312E33},srcline={1009}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030335C3030305C3034305C303030475C303030725C303030615C303030665C303030615C3030306E5C30303061}
|
||||
\BKM@entry{id=64,open,dest={73756273756273656374696F6E2E372E312E34},srcline={1021}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030345C3030305C3034305C3030304F5C303030725C303030635C303030685C303030655C303030735C303030745C303030725C303030615C303030635C30303065}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {7}Měřění}{39}{section.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Metriky}{39}{subsection.7.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.1}PostgreSQL}{39}{subsubsection.7.1.1}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.2}TimescaleDB}{39}{subsubsection.7.1.2}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.3}Grafana}{39}{subsubsection.7.1.3}\protected@file@percent }
|
||||
\BKM@entry{id=65,open,dest={73756273756273656374696F6E2E372E312E35},srcline={1027}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030355C3030305C3034305C303030495C3030306D5C303030475C303030755C30303069}
|
||||
\BKM@entry{id=66,open,dest={73756273756273656374696F6E2E372E312E36},srcline={1033}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030365C3030305C3034305C303030545C303030725C303030615C303030635C30303079}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {8}{\ignorespaces Příklad Grafana dashboardu}}{40}{figure.8}\protected@file@percent }
|
||||
\newlabel{fig:grafana}{{8}{40}{Příklad Grafana dashboardu}{figure.8}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.4}Orchestrace}{40}{subsubsection.7.1.4}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.5}ImGui}{40}{subsubsection.7.1.5}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.6}Tracy}{40}{subsubsection.7.1.6}\protected@file@percent }
|
||||
\BKM@entry{id=67,open,dest={73756273756273656374696F6E2E372E312E37},srcline={1049}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030375C3030305C3034305C3030304B5C3030306F5C3030306E5C3030306B5C303030725C3030305C3335315C303030745C3030306E5C3030305C3335355C3030305C3034305C3030306D5C303030655C303030745C303030725C303030695C3030306B5C30303079}
|
||||
\BKM@entry{id=68,open,dest={73756273756273656374696F6E2E372E312E38},srcline={1065}}{5C3337365C3337375C303030375C3030302E5C303030315C3030302E5C303030385C3030305C3034305C303030535C303030625C3030305C3335355C303030725C3030305C3334315C3030306E5C3030305C3335355C3030305C3034305C303030765C3030305C3034305C303030725C303030655C3030305C3334315C3030306C5C3030306E5C3030305C3335315C3030306D5C3030305C3034305C3030315C3031355C303030615C303030735C30303065}
|
||||
\BKM@entry{id=69,open,dest={73756273656374696F6E2E372E32},srcline={1070}}{5C3337365C3337375C303030375C3030302E5C303030325C3030305C3034305C303030515C303030555C303030495C303030435C30303072}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {9}{\ignorespaces Jeden snímek v Tracy}}{41}{figure.9}\protected@file@percent }
|
||||
\newlabel{fig:frame_in_tracy}{{9}{41}{Jeden snímek v Tracy}{figure.9}{}}
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.7}Konkrétní metriky}{41}{subsubsection.7.1.7}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.1.8}Sbírání v reálném čase}{41}{subsubsection.7.1.8}\protected@file@percent }
|
||||
\BKM@entry{id=70,open,dest={73756273656374696F6E2E372E33},srcline={1115}}{5C3337365C3337375C303030375C3030302E5C303030335C3030305C3034305C3030304F5C303030705C303030745C303030695C3030306D5C303030615C3030306C5C303030695C3030307A5C303030615C303030635C303030655C3030305C3034305C303030725C303030655C303030705C3030306C5C303030695C3030306B5C3030305C3334315C303030745C3030306F5C303030725C30303075}
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}QUICr}{42}{subsection.7.2}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}Příklad volání TC}{42}{lstlisting.3}\protected@file@percent }
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Porovnání odezvy TCP a QUICr}}{43}{figure.10}\protected@file@percent }
|
||||
\newlabel{fig:latencycomparison}{{10}{43}{Porovnání odezvy TCP a QUICr}{figure.10}{}}
|
||||
\newlabel{fig:integrationcomparison}{{7.2}{43}{QUICr}{figure.10}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Porovnání integrace TCP a QUICr}}{43}{figure.11}\protected@file@percent }
|
||||
\newlabel{fig:playerbenchmark}{{7.2}{44}{QUICr}{figure.11}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces 301 připojených hráčů}}{44}{figure.12}\protected@file@percent }
|
||||
\newlabel{fig:tracyreplicator}{{7.3}{44}{Optimalizace replikátoru}{subsection.7.3}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {13}{\ignorespaces Analýza replikátoru}}{44}{figure.13}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}Optimalizace replikátoru}{44}{subsection.7.3}\protected@file@percent }
|
||||
\newlabel{fig:ecs_optimization_tracy_01}{{7.3}{45}{Optimalizace replikátoru}{figure.13}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {14}{\ignorespaces Analýza optimalizace replikátoru pro ECS}}{45}{figure.14}\protected@file@percent }
|
||||
\newlabel{fig:ecs_optimization_tracy_02}{{7.3}{45}{Optimalizace replikátoru}{figure.14}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {15}{\ignorespaces Analýza optimalizace replikátoru pro ECS}}{45}{figure.15}\protected@file@percent }
|
||||
\BKM@entry{id=71,open,dest={73756273656374696F6E2E372E34},srcline={1168}}{5C3337365C3337375C303030375C3030302E5C303030345C3030305C3034305C3030304F5C303030705C303030745C303030695C3030306D5C303030615C3030306C5C303030695C3030307A5C303030615C303030635C303030655C3030305C3034305C3030306D5C303030615C3030306E5C303030615C3030315C3137365C303030655C303030725C303030615C3030305C3034305C3030307A5C3030305C3334315C3030306A5C3030306D5C3030315C313537}
|
||||
\BKM@entry{id=72,open,dest={73756273656374696F6E2E372E35},srcline={1198}}{5C3337365C3337375C303030375C3030302E5C303030355C3030305C3034305C3030305A5C3030305C3334315C303030765C3030315C3033335C303030725C30303079}
|
||||
\newlabel{table:serialization_comparison}{{7.3}{46}{Optimalizace replikátoru}{figure.15}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {16}{\ignorespaces Porovnání serializátorů}}{46}{figure.16}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {7.4}Optimalizace manažera zájmů}{46}{subsection.7.4}\protected@file@percent }
|
||||
\newlabel{table:range_query_comparison}{{7.4}{47}{Optimalizace manažera zájmů}{subsection.7.4}{}}
|
||||
\@writefile{lof}{\contentsline {figure}{\numberline {17}{\ignorespaces Porovnání algoritmů}}{47}{figure.17}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {7.5}Závěry}{47}{subsection.7.5}\protected@file@percent }
|
||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}Sazba závěrů}{47}{lstlisting.4}\protected@file@percent }
|
||||
\BKM@entry{id=73,open,dest={73656374696F6E2A2E33},srcline={1219}}{5C3337365C3337375C3030305A5C3030305C3334315C303030765C3030315C3033335C30303072}
|
||||
\@writefile{toc}{\contentsline {section}{Z\'av\v er}{48}{section*.3}\protected@file@percent }
|
||||
\babel@aux{czech}{}
|
||||
\babel@aux{czech}{}
|
||||
\BKM@entry{id=74,open,dest={73656374696F6E2A2E35},srcline={1209}}{5C3337365C3337375C303030435C3030306F5C3030306E5C303030635C3030306C5C303030755C303030735C303030695C3030306F5C3030306E5C30303073}
|
||||
\@writefile{toc}{\contentsline {section}{Conclusions}{48}{section*.5}\protected@file@percent }
|
||||
\BKM@entry{id=74,open,dest={73656374696F6E2A2E35},srcline={1222}}{5C3337365C3337375C303030435C3030306F5C3030306E5C303030635C3030306C5C303030755C303030735C303030695C3030306F5C3030306E5C30303073}
|
||||
\@writefile{toc}{\contentsline {section}{Conclusions}{49}{section*.5}\protected@file@percent }
|
||||
\babel@aux{english}{}
|
||||
\babel@aux{czech}{}
|
||||
\BKM@entry{id=75,open,dest={617070656E6469782E41},srcline={1216}}{5C3337365C3337375C303030415C3030305C3034305C303030505C303030725C303030765C3030306E5C3030305C3335355C3030305C3034305C303030705C3030315C3133315C3030305C3335355C3030306C5C3030306F5C303030685C30303061}
|
||||
\BKM@entry{id=76,open,dest={617070656E6469782E42},srcline={1219}}{5C3337365C3337375C303030425C3030305C3034305C303030445C303030725C303030755C303030685C3030305C3334315C3030305C3034305C303030705C3030315C3133315C3030305C3335355C3030306C5C3030306F5C303030685C30303061}
|
||||
\BKM@entry{id=77,open,dest={617070656E6469782E43},srcline={1224}}{5C3337365C3337375C303030435C3030305C3034305C3030304F5C303030625C303030735C303030615C303030685C3030305C3034305C303030655C3030306C5C303030655C3030306B5C303030745C303030725C3030306F5C3030306E5C303030695C303030635C3030306B5C3030305C3337355C303030635C303030685C3030305C3034305C303030645C303030615C30303074}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {A}První příloha}{49}{appendix.A}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {B}Druhá příloha}{49}{appendix.B}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {C}Obsah elektronických dat}{49}{appendix.C}\protected@file@percent }
|
||||
\newlabel{sec:ObsahData}{{C}{49}{Obsah elektronických dat}{appendix.C}{}}
|
||||
\BKM@entry{id=78,open,dest={73656374696F6E2A2E37},srcline={1291}}{5C3337365C3337375C303030535C303030655C3030307A5C3030306E5C303030615C3030306D5C3030305C3034305C3030307A5C3030306B5C303030725C303030615C303030745C303030655C3030306B}
|
||||
\BKM@entry{id=75,open,dest={617070656E6469782E41},srcline={1229}}{5C3337365C3337375C303030415C3030305C3034305C303030505C303030725C303030765C3030306E5C3030305C3335355C3030305C3034305C303030705C3030315C3133315C3030305C3335355C3030306C5C3030306F5C303030685C30303061}
|
||||
\BKM@entry{id=76,open,dest={617070656E6469782E42},srcline={1232}}{5C3337365C3337375C303030425C3030305C3034305C303030445C303030725C303030755C303030685C3030305C3334315C3030305C3034305C303030705C3030315C3133315C3030305C3335355C3030306C5C3030306F5C303030685C30303061}
|
||||
\BKM@entry{id=77,open,dest={617070656E6469782E43},srcline={1237}}{5C3337365C3337375C303030435C3030305C3034305C3030304F5C303030625C303030735C303030615C303030685C3030305C3034305C303030655C3030306C5C303030655C3030306B5C303030745C303030725C3030306F5C3030306E5C303030695C303030635C3030306B5C3030305C3337355C303030635C303030685C3030305C3034305C303030645C303030615C30303074}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {A}První příloha}{50}{appendix.A}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {B}Druhá příloha}{50}{appendix.B}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {C}Obsah elektronických dat}{50}{appendix.C}\protected@file@percent }
|
||||
\newlabel{sec:ObsahData}{{C}{50}{Obsah elektronických dat}{appendix.C}{}}
|
||||
\BKM@entry{id=78,open,dest={73656374696F6E2A2E37},srcline={1304}}{5C3337365C3337375C303030535C303030655C3030307A5C3030306E5C303030615C3030306D5C3030305C3034305C3030307A5C3030306B5C303030725C303030615C303030745C303030655C3030306B}
|
||||
\abx@aux@nociteall
|
||||
\@writefile{toc}{\contentsline {section}{Seznam zkratek}{51}{section*.7}\protected@file@percent }
|
||||
\BKM@entry{id=79,open,dest={73656374696F6E2A2E38},srcline={1301}}{5C3337365C3337375C3030304C5C303030695C303030745C303030655C303030725C303030615C303030745C303030755C303030725C30303061}
|
||||
\@writefile{toc}{\contentsline {section}{Seznam zkratek}{52}{section*.7}\protected@file@percent }
|
||||
\BKM@entry{id=79,open,dest={73656374696F6E2A2E38},srcline={1314}}{5C3337365C3337375C3030304C5C303030695C303030745C303030655C303030725C303030615C303030745C303030755C303030725C30303061}
|
||||
\abx@aux@read@bbl@mdfivesum{nobblfile}
|
||||
\abx@aux@read@bblrerun
|
||||
\newlabel{LastPage}{{C}{51}{Obsah elektronických dat}{page.51}{}}
|
||||
\gdef\lastpage@lastpage{51}
|
||||
\gdef\lastpage@lastpageHy{51}
|
||||
\newlabel{LastPage}{{C}{52}{Obsah elektronických dat}{page.52}{}}
|
||||
\gdef\lastpage@lastpage{52}
|
||||
\gdef\lastpage@lastpageHy{52}
|
||||
\gdef\svg@ink@ver@settings{{\m@ne }{inkscape}{\m@ne }}
|
||||
\gdef \@abspage@last{51}
|
||||
\gdef \@abspage@last{52}
|
||||
|
||||
+11
-11
@@ -1,18 +1,18 @@
|
||||
# Fdb version 4
|
||||
["biber kidiplom"] 1777641420.71466 "kidiplom.bcf" "kidiplom.bbl" "kidiplom" 1785301140.34188 2
|
||||
"kidiplom.bcf" 1785301140.22447 100507 e04409a00ea07820a76aae942e927593 "pdflatex"
|
||||
["biber kidiplom"] 1777641420.71466 "kidiplom.bcf" "kidiplom.bbl" "kidiplom" 1785390671.024 2
|
||||
"kidiplom.bcf" 1785390670.89993 100507 e04409a00ea07820a76aae942e927593 "pdflatex"
|
||||
(generated)
|
||||
"kidiplom.bbl"
|
||||
"kidiplom.blg"
|
||||
(rewritten before read)
|
||||
["makeindex kidiplom.idx"] 1777641420.69393 "kidiplom.idx" "kidiplom.ind" "kidiplom" 1785301140.33886 0
|
||||
"kidiplom.idx" 1785301138.64745 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex"
|
||||
["makeindex kidiplom.idx"] 1777641420.69393 "kidiplom.idx" "kidiplom.ind" "kidiplom" 1785390671.02099 0
|
||||
"kidiplom.idx" 1785390669.2329 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex"
|
||||
(generated)
|
||||
"kidiplom.ilg"
|
||||
"kidiplom.ind"
|
||||
(rewritten before read)
|
||||
["pdflatex"] 1785301138.13747 "/home/martin/projects/kidiplom/kidiplom.tex" "kidiplom.pdf" "kidiplom" 1785301140.33899 2
|
||||
"/home/martin/projects/kidiplom/kidiplom.tex" 1785301138.02344 120926 231f23a97cb2a8d2e3546ba6780728c0 ""
|
||||
["pdflatex"] 1785390668.42988 "/home/martin/projects/kidiplom/kidiplom.tex" "kidiplom.pdf" "kidiplom" 1785390671.02112 2
|
||||
"/home/martin/projects/kidiplom/kidiplom.tex" 1785390668.26589 122685 fd1dbf8e4d3c9e62acdb8caec97addec ""
|
||||
"/usr/share/texmf-dist/fonts/enc/dvips/base/8r.enc" 1775415801 4850 80dc9bab7f31fb78a000ccfed0e27cab ""
|
||||
"/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-ec.enc" 1775415801 2375 baa924870cfb487815765f9094cf3728 ""
|
||||
"/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-mathit.enc" 1775415801 2405 5dcf2c1b967ee25cc46c58cd52244aed ""
|
||||
@@ -259,15 +259,15 @@
|
||||
"iso.bbx" 1681557593 13233 9f9e9c852fe772bfe1efaacc6b415eb7 ""
|
||||
"kibase.sty" 1681557593 23853 021ae8236751950ac5e18f6a5bcf1da7 ""
|
||||
"kidiplom.acr" 0 -1 0 ""
|
||||
"kidiplom.aux" 1785301140.20947 37631 2a4cce9ae6ea8a6adaac0335cd32a525 "pdflatex"
|
||||
"kidiplom.aux" 1785390670.88193 37634 ce061d65e7dd2c494759a26a735ac34c "pdflatex"
|
||||
"kidiplom.bbl" 0 -1 0 "biber kidiplom"
|
||||
"kidiplom.cls" 1681557593 18598 7684b2d13ac67d7b017c4eea1e12fa0c ""
|
||||
"kidiplom.glsdefs" 1777655247.6059 525 791a05cd0a9f8650067804d8f5ff3f41 ""
|
||||
"kidiplom.ind" 1777641420.71105 0 d41d8cd98f00b204e9800998ecf8427e "makeindex kidiplom.idx"
|
||||
"kidiplom.lot" 1785301140.22575 142 0f926846b4ca0023532a29a360cf54d1 "pdflatex"
|
||||
"kidiplom.run.xml" 1785301140.22575 2535 4e001a965ee2f4de88dc6271855a61ea "pdflatex"
|
||||
"kidiplom.tex" 1785301138.02344 120926 231f23a97cb2a8d2e3546ba6780728c0 ""
|
||||
"kidiplom.toc" 1785301140.22575 6373 d8c2ba276421754e5f98e7495c337243 "pdflatex"
|
||||
"kidiplom.lot" 1785390670.90143 142 0f926846b4ca0023532a29a360cf54d1 "pdflatex"
|
||||
"kidiplom.run.xml" 1785390670.90143 2535 4e001a965ee2f4de88dc6271855a61ea "pdflatex"
|
||||
"kidiplom.tex" 1785390668.26589 122685 fd1dbf8e4d3c9e62acdb8caec97addec ""
|
||||
"kidiplom.toc" 1785390670.90143 6373 f29d0b7aa774ff86ece0f349c04bd0a5 "pdflatex"
|
||||
(generated)
|
||||
"kidiplom.acn"
|
||||
"kidiplom.aux"
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
% makeindex style file created by the glossaries package
|
||||
% for document 'kidiplom' on 2026-7-29
|
||||
% for document 'kidiplom' on 2026-7-30
|
||||
actual '?'
|
||||
encap '|'
|
||||
level '!'
|
||||
|
||||
+88
-88
@@ -1,4 +1,4 @@
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.29 (TeX Live 2026/Arch Linux) (preloaded format=pdflatex 2026.6.8) 29 JUL 2026 06:58
|
||||
This is pdfTeX, Version 3.141592653-2.6-1.40.29 (TeX Live 2026/Arch Linux) (preloaded format=pdflatex 2026.6.8) 30 JUL 2026 07:51
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
%&-line parsing enabled.
|
||||
@@ -1491,12 +1491,12 @@ LaTeX Font Info: External font `lmex10' loaded for size
|
||||
xmf-dist/fonts/enc/dvips/lm/lm-mathsy.enc}{/usr/share/texmf-dist/fonts/enc/dvip
|
||||
s/lm/lm-rm.enc}]
|
||||
LaTeX Font Info: Trying to load font information for T1+pcr on input line 26
|
||||
1.
|
||||
2.
|
||||
|
||||
(/usr/share/texmf-dist/tex/latex/psnfss/t1pcr.fd
|
||||
File: t1pcr.fd 2001/06/04 font definitions for T1/pcr.
|
||||
) [11{/usr/share/texmf-dist/fonts/enc/dvips/base/8r.enc}]
|
||||
Overfull \hbox (0.28238pt too wide) in paragraph at lines 278--279
|
||||
Overfull \hbox (0.28238pt too wide) in paragraph at lines 277--281
|
||||
[]\T1/lmr/m/n/12 Druhým p°í-stu-pem je po-sí-lání zpráv. V tomto p°í-stupu po-s
|
||||
í-lají pro-cesy zprávy
|
||||
[]
|
||||
@@ -1506,35 +1506,35 @@ Overfull \hbox (0.28238pt too wide) in paragraph at lines 278--279
|
||||
File: graphics/layer_architecture.png Graphic file (type png)
|
||||
<use graphics/layer_architecture.png>
|
||||
Package pdftex.def Info: graphics/layer_architecture.png used on input line 31
|
||||
2.
|
||||
7.
|
||||
(pdftex.def) Requested size: 409.50119pt x 198.24504pt.
|
||||
[13] [14 <./graphics/layer_architecture.png>]
|
||||
<graphics/TcpIp.png, id=250, 805.0075pt x 512.91624pt>
|
||||
File: graphics/TcpIp.png Graphic file (type png)
|
||||
<use graphics/TcpIp.png>
|
||||
Package pdftex.def Info: graphics/TcpIp.png used on input line 346.
|
||||
Package pdftex.def Info: graphics/TcpIp.png used on input line 353.
|
||||
(pdftex.def) Requested size: 409.50119pt x 260.91075pt.
|
||||
[15 <./graphics/TcpIp.png>]
|
||||
<graphics/http2.pdf, id=257, 275.10779pt x 225.7233pt>
|
||||
File: graphics/http2.pdf Graphic file (type pdf)
|
||||
<use graphics/http2.pdf>
|
||||
Package pdftex.def Info: graphics/http2.pdf used on input line 385.
|
||||
Package pdftex.def Info: graphics/http2.pdf used on input line 392.
|
||||
(pdftex.def) Requested size: 196.5588pt x 161.2807pt.
|
||||
<graphics/http3.pdf, id=258, 349.305pt x 262.0992pt>
|
||||
File: graphics/http3.pdf Graphic file (type pdf)
|
||||
<use graphics/http3.pdf>
|
||||
Package pdftex.def Info: graphics/http3.pdf used on input line 391.
|
||||
Package pdftex.def Info: graphics/http3.pdf used on input line 398.
|
||||
(pdftex.def) Requested size: 196.5588pt x 147.48642pt.
|
||||
|
||||
[16] [17 <./graphics/http2.pdf> <./graphics/http3.pdf>] [18] [19]
|
||||
<graphics/quic_handshake.pdf, id=315, 243.79079pt x 327.14218pt>
|
||||
<graphics/quic_handshake.pdf, id=314, 243.79079pt x 327.14218pt>
|
||||
File: graphics/quic_handshake.pdf Graphic file (type pdf)
|
||||
<use graphics/quic_handshake.pdf>
|
||||
Package pdftex.def Info: graphics/quic_handshake.pdf used on input line 461.
|
||||
Package pdftex.def Info: graphics/quic_handshake.pdf used on input line 477.
|
||||
(pdftex.def) Requested size: 204.7506pt x 274.7626pt.
|
||||
[20 <./graphics/quic_handshake.pdf>]
|
||||
[20] [21 <./graphics/quic_handshake.pdf>]
|
||||
! Undefined control sequence.
|
||||
l.490 ...vářÃme objekt kontextu pomocà \inlcpp
|
||||
l.503 ...vářÃme objekt kontextu pomocà \inlcpp
|
||||
{ctx=zmq\_context(num\_thr...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1543,7 +1543,7 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
! Undefined control sequence.
|
||||
l.490 ...vláken specifikovaný parametrem \inlcpp
|
||||
l.503 ...vláken specifikovaný parametrem \inlcpp
|
||||
{num\_thread}. Když násl...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1552,7 +1552,7 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
! Undefined control sequence.
|
||||
l.490 ...read}. Když následně zavoláme \inlcpp
|
||||
l.503 ...read}. Když následně zavoláme \inlcpp
|
||||
{zmq\_send(ctx, x)}, protÄ...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1561,7 +1561,7 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
! Undefined control sequence.
|
||||
l.490 ...ctx, x)}, protějšek klasického \inlcpp
|
||||
l.503 ...ctx, x)}, protějšek klasického \inlcpp
|
||||
{send(x)}, tak nedojde k b...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1570,7 +1570,7 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
! Undefined control sequence.
|
||||
l.490 ...o fronty, ze které pak vlákna z \inlcpp
|
||||
l.503 ...o fronty, ze které pak vlákna z \inlcpp
|
||||
{zmq\_context} tzv. \uv{kr...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1579,13 +1579,13 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
|
||||
Overfull \hbox (92.69887pt too wide) in paragraph at lines 490--491
|
||||
Overfull \hbox (92.69887pt too wide) in paragraph at lines 503--504
|
||||
\T1/lmr/m/n/12 P°i po-u-ºití knihovny Ze-roMQ vy-tvá-°íme ob-jekt kon-textu po-
|
||||
mocí ctx=zmq_context(num_threads).
|
||||
[]
|
||||
|
||||
! Undefined control sequence.
|
||||
l.492 To samé platà o \inlcpp
|
||||
l.505 To samé platà o \inlcpp
|
||||
{zmq\_receive}, které si v pozadà skládá ...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1594,7 +1594,7 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
! Undefined control sequence.
|
||||
l.500 ...ronnà pomocà klÃÄ�ového slova \inlcpp
|
||||
l.513 ...ronnà pomocà klÃÄ�ového slova \inlcpp
|
||||
{async}. ZavolánÃm takov...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1603,7 +1603,7 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
! Undefined control sequence.
|
||||
l.500 ...¡nÃm takové funkce speciálnÃm \inlcpp
|
||||
l.513 ...¡nÃm takové funkce speciálnÃm \inlcpp
|
||||
{await} volánÃm způsobÃ...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1612,7 +1612,7 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
! Undefined control sequence.
|
||||
l.500 ...kce, kterou jsou zavolali pomocà \inlcpp
|
||||
l.513 ...kce, kterou jsou zavolali pomocà \inlcpp
|
||||
{await}. Toto volánà tak...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1621,14 +1621,14 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
|
||||
Overfull \hbox (13.61082pt too wide) in paragraph at lines 500--501
|
||||
Overfull \hbox (13.61082pt too wide) in paragraph at lines 513--514
|
||||
\T1/lmr/m/n/12 Populární im-ple-men-tací, kte-rou vi-díme na-p°í-klad v Rust ne
|
||||
bo C#, je ^^R async/await^^P .
|
||||
[]
|
||||
|
||||
[21]
|
||||
[22]
|
||||
! Undefined control sequence.
|
||||
l.509 ...Pouze vytvoÅ™Ãme objekt kontextu \inlcpp
|
||||
l.522 ...Pouze vytvoÅ™Ãme objekt kontextu \inlcpp
|
||||
{asio\_context}, který mÃ...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1637,7 +1637,7 @@ spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
! Undefined control sequence.
|
||||
l.509 ...terý má frontu úkolů a metodu \inlcpp
|
||||
l.522 ...terý má frontu úkolů a metodu \inlcpp
|
||||
{run}. Když z vlákna zav...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1645,9 +1645,9 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
|
||||
spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
[22] [23]
|
||||
[23] [24]
|
||||
! Undefined control sequence.
|
||||
l.619 ... a pozice). Vše jsme obalili do \inlcpp
|
||||
l.632 ... a pozice). Vše jsme obalili do \inlcpp
|
||||
{JoltPhysicsWorld}.
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1655,19 +1655,19 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
|
||||
spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
[24]
|
||||
[25]
|
||||
Package hyperref Info: bookmark level for unknown lstlisting defaults to 0 on i
|
||||
nput line 641.
|
||||
[25] [26]
|
||||
<graphics/client-server-architecture.pdf, id=371, 609.23605pt x 404.47108pt>
|
||||
nput line 654.
|
||||
[26] [27]
|
||||
<graphics/client-server-architecture.pdf, id=375, 609.23605pt x 404.47108pt>
|
||||
File: graphics/client-server-architecture.pdf Graphic file (type pdf)
|
||||
<use graphics/client-server-architecture.pdf>
|
||||
Package pdftex.def Info: graphics/client-server-architecture.pdf used on input
|
||||
line 702.
|
||||
line 715.
|
||||
(pdftex.def) Requested size: 409.50119pt x 271.8706pt.
|
||||
[27] [28 <./graphics/client-server-architecture.pdf>]
|
||||
[28] [29 <./graphics/client-server-architecture.pdf>]
|
||||
! Undefined control sequence.
|
||||
l.740 ...World}, která reprezentuje stav a \inlcp
|
||||
l.753 ...World}, která reprezentuje stav a \inlcp
|
||||
{ClientWorldController}, k...
|
||||
The control sequence at the end of the top line
|
||||
of your error message was never \def'ed. If you have
|
||||
@@ -1675,116 +1675,116 @@ misspelled it (e.g., `\hobx'), type `I' and the correct
|
||||
spelling (e.g., `I\hbox'). Otherwise just continue,
|
||||
and I'll forget about whatever was undefined.
|
||||
|
||||
[29]
|
||||
Overfull \hbox (8.12425pt too wide) in paragraph at lines 783--784
|
||||
[30]
|
||||
Overfull \hbox (8.12425pt too wide) in paragraph at lines 796--797
|
||||
\T1/lmr/m/n/12 Vytvo°ili jsme t°ídu [][][][], která má na roz-hraní me-tody []
|
||||
[]
|
||||
|
||||
|
||||
Overfull \hbox (20.39532pt too wide) in paragraph at lines 783--784
|
||||
Overfull \hbox (20.39532pt too wide) in paragraph at lines 796--797
|
||||
[][][][][][][][][]\T1/lmr/m/n/12 , [][][][] a [][][][]. První me-toda na-staví
|
||||
pro kon-cový bod []
|
||||
[]
|
||||
|
||||
[30]
|
||||
[31]
|
||||
|
||||
LaTeX Warning: Reference `code:entity_spawn_message' on page 31 undefined on in
|
||||
put line 798.
|
||||
LaTeX Warning: Reference `code:entity_spawn_message' on page 32 undefined on in
|
||||
put line 811.
|
||||
|
||||
[31] [32] [33]
|
||||
<graphics/quicr_handshake.pdf, id=427, 337.26pt x 246.9225pt>
|
||||
[32] [33] [34]
|
||||
<graphics/quicr_handshake.pdf, id=431, 337.26pt x 246.9225pt>
|
||||
File: graphics/quicr_handshake.pdf Graphic file (type pdf)
|
||||
<use graphics/quicr_handshake.pdf>
|
||||
Package pdftex.def Info: graphics/quicr_handshake.pdf used on input line 878.
|
||||
Package pdftex.def Info: graphics/quicr_handshake.pdf used on input line 891.
|
||||
(pdftex.def) Requested size: 409.50119pt x 299.82079pt.
|
||||
[34 <./graphics/quicr_handshake.pdf>]
|
||||
Overfull \hbox (3.49525pt too wide) in paragraph at lines 888--889
|
||||
[35 <./graphics/quicr_handshake.pdf>]
|
||||
Overfull \hbox (3.49525pt too wide) in paragraph at lines 901--902
|
||||
[]\T1/lmr/m/n/12 Spolehlivost °e²í kom-po-nenta [][][][], která si udr-ºuje fro
|
||||
ntu rámc·,
|
||||
[]
|
||||
|
||||
[35]
|
||||
Overfull \hbox (6.44025pt too wide) in paragraph at lines 959--960
|
||||
[36]
|
||||
Overfull \hbox (6.44025pt too wide) in paragraph at lines 972--973
|
||||
[][][][][][][][][][][][][] \T1/lmr/m/n/12 a [][][][][][][][][][][][][][][][]. K
|
||||
aºdý
|
||||
[]
|
||||
|
||||
[36]
|
||||
<graphics/zone_server_architecture.pdf, id=450, 453.61469pt x 298.23419pt>
|
||||
[37]
|
||||
<graphics/zone_server_architecture.pdf, id=455, 453.61469pt x 298.23419pt>
|
||||
File: graphics/zone_server_architecture.pdf Graphic file (type pdf)
|
||||
<use graphics/zone_server_architecture.pdf>
|
||||
Package pdftex.def Info: graphics/zone_server_architecture.pdf used on input l
|
||||
ine 967.
|
||||
ine 980.
|
||||
(pdftex.def) Requested size: 409.50119pt x 269.24106pt.
|
||||
[37 <./graphics/zone_server_architecture.pdf>]
|
||||
<graphics/grafana.png, id=472, 2813.51125pt x 913.4125pt>
|
||||
[38 <./graphics/zone_server_architecture.pdf>]
|
||||
<graphics/grafana.png, id=476, 2813.51125pt x 913.4125pt>
|
||||
File: graphics/grafana.png Graphic file (type png)
|
||||
<use graphics/grafana.png>
|
||||
Package pdftex.def Info: graphics/grafana.png used on input line 1002.
|
||||
Package pdftex.def Info: graphics/grafana.png used on input line 1015.
|
||||
(pdftex.def) Requested size: 409.50119pt x 132.9362pt.
|
||||
[38] [39 <./graphics/grafana.png>]
|
||||
<graphics/300playerstrace.png, id=484, 1348.03625pt x 397.485pt>
|
||||
[39] [40 <./graphics/grafana.png>]
|
||||
<graphics/300playerstrace.png, id=488, 1348.03625pt x 397.485pt>
|
||||
File: graphics/300playerstrace.png Graphic file (type png)
|
||||
<use graphics/300playerstrace.png>
|
||||
Package pdftex.def Info: graphics/300playerstrace.png used on input line 1030.
|
||||
Package pdftex.def Info: graphics/300playerstrace.png used on input line 1043.
|
||||
|
||||
(pdftex.def) Requested size: 409.50119pt x 120.74449pt.
|
||||
[40 <./graphics/300playerstrace.png>]
|
||||
<graphics/latencycomparison.pdf, id=492, 462.52798pt x 346.89601pt>
|
||||
[41 <./graphics/300playerstrace.png>]
|
||||
<graphics/latencycomparison.pdf, id=496, 462.52798pt x 346.89601pt>
|
||||
File: graphics/latencycomparison.pdf Graphic file (type pdf)
|
||||
<use graphics/latencycomparison.pdf>
|
||||
Package pdftex.def Info: graphics/latencycomparison.pdf used on input line 107
|
||||
6.
|
||||
Package pdftex.def Info: graphics/latencycomparison.pdf used on input line 108
|
||||
9.
|
||||
(pdftex.def) Requested size: 327.60219pt x 245.71564pt.
|
||||
<graphics/integrationcomparison.pdf, id=493, 462.52798pt x 346.89601pt>
|
||||
<graphics/integrationcomparison.pdf, id=497, 462.52798pt x 346.89601pt>
|
||||
File: graphics/integrationcomparison.pdf Graphic file (type pdf)
|
||||
<use graphics/integrationcomparison.pdf>
|
||||
Package pdftex.def Info: graphics/integrationcomparison.pdf used on input line
|
||||
1084.
|
||||
1097.
|
||||
(pdftex.def) Requested size: 327.60219pt x 245.71564pt.
|
||||
<graphics/playerbenchmark.png, id=496, 1926.19624pt x 1221.56375pt>
|
||||
<graphics/playerbenchmark.png, id=500, 1926.19624pt x 1221.56375pt>
|
||||
File: graphics/playerbenchmark.png Graphic file (type png)
|
||||
<use graphics/playerbenchmark.png>
|
||||
Package pdftex.def Info: graphics/playerbenchmark.png used on input line 1096.
|
||||
Package pdftex.def Info: graphics/playerbenchmark.png used on input line 1109.
|
||||
|
||||
(pdftex.def) Requested size: 204.7506pt x 129.84302pt.
|
||||
[41] [42 <./graphics/latencycomparison.pdf> <./graphics/integrationcomparison.
|
||||
[42] [43 <./graphics/latencycomparison.pdf> <./graphics/integrationcomparison.
|
||||
pdf>]
|
||||
File: graphics/300playerstrace.png Graphic file (type png)
|
||||
<use graphics/300playerstrace.png>
|
||||
Package pdftex.def Info: graphics/300playerstrace.png used on input line 1108.
|
||||
Package pdftex.def Info: graphics/300playerstrace.png used on input line 1121.
|
||||
|
||||
(pdftex.def) Requested size: 409.50119pt x 120.74449pt.
|
||||
[43 <./graphics/playerbenchmark.png>]
|
||||
<graphics/ecs_optimization_tracy_01.png, id=597, 1707.37875pt x 472.76625pt>
|
||||
[44 <./graphics/playerbenchmark.png>]
|
||||
<graphics/ecs_optimization_tracy_01.png, id=602, 1707.37875pt x 472.76625pt>
|
||||
File: graphics/ecs_optimization_tracy_01.png Graphic file (type png)
|
||||
<use graphics/ecs_optimization_tracy_01.png>
|
||||
Package pdftex.def Info: graphics/ecs_optimization_tracy_01.png used on input
|
||||
line 1119.
|
||||
line 1132.
|
||||
(pdftex.def) Requested size: 409.50119pt x 113.38686pt.
|
||||
<graphics/ecs_optimization_tracy_02.png, id=598, 1196.47pt x 583.17876pt>
|
||||
<graphics/ecs_optimization_tracy_02.png, id=603, 1196.47pt x 583.17876pt>
|
||||
File: graphics/ecs_optimization_tracy_02.png Graphic file (type png)
|
||||
<use graphics/ecs_optimization_tracy_02.png>
|
||||
Package pdftex.def Info: graphics/ecs_optimization_tracy_02.png used on input
|
||||
line 1126.
|
||||
line 1139.
|
||||
(pdftex.def) Requested size: 409.50119pt x 199.59514pt.
|
||||
[44 <./graphics/ecs_optimization_tracy_01.png> <./graphics/ecs_optimization_tr
|
||||
[45 <./graphics/ecs_optimization_tracy_01.png> <./graphics/ecs_optimization_tr
|
||||
acy_02.png>]
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 1167--1167
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 1180--1180
|
||||
[]|\T1/lmr/m/n/12 Název
|
||||
[]
|
||||
|
||||
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 1171--1171
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 1184--1184
|
||||
[]|\T1/lmr/m/n/12 Fixní
|
||||
[]
|
||||
|
||||
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 1173--1173
|
||||
Underfull \hbox (badness 10000) in paragraph at lines 1186--1186
|
||||
[]|\T1/lmr/m/n/12 Hashovací
|
||||
[]
|
||||
|
||||
[45] (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
|
||||
[46] (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
|
||||
File: lstlang1.sty 2025/11/14 1.11b listings language file
|
||||
)
|
||||
(/usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
|
||||
@@ -1804,25 +1804,25 @@ File: lstlang3.sty 2025/11/14 1.11b listings language file
|
||||
)
|
||||
(/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
|
||||
File: lstmisc.sty 2025/11/14 1.11b (Carsten Heinz)
|
||||
) [46] [47
|
||||
) [47] [48
|
||||
|
||||
] [48
|
||||
] [49
|
||||
|
||||
]
|
||||
LaTeX Font Info: Trying to load font information for TS1+lmr on input line 1
|
||||
265.
|
||||
278.
|
||||
|
||||
(/usr/share/texmf-dist/tex/latex/lm/ts1lmr.fd
|
||||
File: ts1lmr.fd 2015/05/01 v1.6.1 Font defs for Latin Modern
|
||||
) [49
|
||||
) [50
|
||||
|
||||
{/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-ts1.enc}] [50]
|
||||
{/usr/share/texmf-dist/fonts/enc/dvips/lm/lm-ts1.enc}] [51]
|
||||
No file kidiplom.acr.
|
||||
[51
|
||||
[52
|
||||
|
||||
]
|
||||
|
||||
LaTeX Warning: Empty bibliography on input line 1301.
|
||||
LaTeX Warning: Empty bibliography on input line 1314.
|
||||
|
||||
(./kidiplom.ind)
|
||||
enddocument/afterlastpage (AED): lastpage setting LastPage.
|
||||
@@ -1845,8 +1845,8 @@ Package logreq Info: Writing requests to 'kidiplom.run.xml'.
|
||||
|
||||
)
|
||||
Here is how much of TeX's memory you used:
|
||||
33744 strings out of 469481
|
||||
635471 string characters out of 5469631
|
||||
33745 strings out of 469481
|
||||
635478 string characters out of 5469631
|
||||
1772275 words of memory out of 5000000
|
||||
61629 multiletter control sequences out of 15000+600000
|
||||
692285 words of font info for 87 fonts, out of 8000000 for 9000
|
||||
@@ -1866,10 +1866,10 @@ e1/public/lm/lmri12.pfb></usr/share/texmf-dist/fonts/type1/public/lm/lmri8.pfb>
|
||||
</usr/share/texmf-dist/fonts/type1/public/lm/lmsy10.pfb></usr/share/texmf-dist/
|
||||
fonts/type1/urw/courier/ucrb8a.pfb></usr/share/texmf-dist/fonts/type1/urw/couri
|
||||
er/ucrr8a.pfb>
|
||||
Output written on kidiplom.pdf (51 pages, 1030985 bytes).
|
||||
Output written on kidiplom.pdf (52 pages, 1032642 bytes).
|
||||
PDF statistics:
|
||||
1004 PDF objects out of 1200 (max. 8388607)
|
||||
795 compressed objects within 8 object streams
|
||||
189 named destinations out of 1000 (max. 500000)
|
||||
1008 PDF objects out of 1200 (max. 8388607)
|
||||
798 compressed objects within 8 object streams
|
||||
190 named destinations out of 1000 (max. 500000)
|
||||
730 words of extra memory for PDF output out of 10000 (max. 10000000)
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+33
-20
@@ -212,6 +212,7 @@ V této kapitole představíme distribuované systémy. Popíšeme, na čem stoj
|
||||
Počítačový systém se skládá ze služeb, každá implementovaná jako kolekce procesů, které dohromady plní společný úkol. Moderní systémy jsou ale čím dál větší a úkoly, které musí plnit, jsou složitější. To vedlo ke vzniku síťových systémům, ve kterých jsou procesy rozmístěné přes více počítačů a komunikují spolu posíláním zpráv. Výhod je hned několik. Část systému může být umístěna počítači blíž zákazníkovi a snížit tak odezvu. Když jeden proces selže, může být jiný, který plní stejnou službu a může systém udržet v provozu. Konkrétní skupinou jsou distribuované systémy, které mají mnoho procesů rozmístěných přes více počítačů, které aktivně spolupracují a jeví se jako jeden celek.
|
||||
|
||||
|
||||
|
||||
% Počítačový systém se skládá ze služeb, každá je implementována jako kolekce procesů a dohromady plní společný úkol. Systém, ve kterém jsou procesy služeb na různých počítačích propojených v síti, se nazývá \uv{síťový systém}. Zmíníme dva důvody, proč procesy takto rozmístit. Prvním může být záměr \uv{integrace} více existujících systémů. Například se v průběhu života software zjistí, že neposkytuje všechny potřebné služby. Mohou se změnit požadavky nebo se rozšíří uživatelská základna o skupinu, se kterou se původně nepočítalo. Pokud tuto službu poskytuje jiný systém na jiném počítači, můžeme oba systémy spojit. Druhým důvodem může být \uv{expanze}, kdy jeden počítač nesplňuje požadavky na výkon.
|
||||
|
||||
% Síťové systémy můžeme dále rozdělit na \uv{decentralizované} a \uv{distribuované}. Decentralizované jsou většinou ty, které se rozrostly přes více počítačů kvůli integraci. Distribuovaný systém se snaží být dostatečně rozprostřen přes více počítačů tak, aby dokázal plnit svůj úkol. Například aby umožňil snadno přidávat do systému služby, měl dostatečně nízkou odezvu nebo aby bylo možné ho škálovat pro velké množství požadavků.
|
||||
@@ -241,7 +242,7 @@ Co občas může vadit je, že jsou služby \uv{referenčně vázané}. To zname
|
||||
|
||||
\subsubsection{Systémové architektury} \label{sec:system_architecture}
|
||||
|
||||
Pro systémové architektury představíme a využijeme dva vzory: asymetrickou klient-server a symetrickou peer-to-peer.
|
||||
Pro systémové architektury představíme a později využijeme dva modely: asymetrickou klient-server a symetrickou peer-to-peer.
|
||||
|
||||
Asymetrickou architekturou, kde je komponenta buď server, nebo klient, se nazývá \uv{klient-server}. Pouze klienti mohou serverům posílat dotazy a dostávat od nich odpovědi. Vztah je tedy asymetrický. Příkladem jsou webové servery a webové prohlížeče, které fungují jako klienti. Tento model se hodí například pro autoritativní server, který určuje stav hry a pouze jej replikuje klientům. Usnadňuje synchronizaci jednotlivých klientů a zvyšuje efektivitu, protože se účastníci nemusí shodovat, ale pouze přijmout fakt ze serveru.
|
||||
|
||||
@@ -256,13 +257,11 @@ Symetrická architektura, kdy obě strany jsou si rovny, se nazývá \uv{peer-to
|
||||
|
||||
\subsection{Komunikace}
|
||||
|
||||
V síťovém systému není sdílená paměť. Místo toho se pro komunikaci mezi procesy používá posíláním primitivních zpráv pomocí systémových volání. To se snažíme v distribuovaných systémech skrýt za vhodnějším rozhraním. V této podkapitole si představíme různé abstrakce a v podkapitole \ref{sec:NetworkCommunication} ukážeme podrobněji, jak se taková komunikace realizuje.
|
||||
V síťovém systému není sdílená paměť. Místo toho se mezi procesy komunikuje posíláním zpráv pomocí systémových volání. To se snažíme v distribuovaných systémech skrýt za vhodnějším rozhraním. V této podkapitole si představíme různé abstrakce a v podkapitole \ref{sec:NetworkCommunication} ukážeme podrobněji, jak se taková komunikace realizuje.
|
||||
|
||||
Pro schování komunikace a platformy, na které proces běží, se využívá \uv{middleware}. Jedná se o komponentu, která leží mezi aplikací a operačním systémem a poskytuje komunikační služby. Není závislá na žádné konkrétní aplikaci. Příkladem je distribuovaná služba DNS, která podle doménového jména vyhledá síťovou adresu, jako například adrese \texttt{www.seznam.cz} přiřadí síťovou IP adresu \texttt{77.75.77.222}.
|
||||
|
||||
Pro různé účely a situace máme jiné modely komunikace. Například email je typický příklad \uv{persistentní} komunikace. Po odeslání si persistentní middleware zprávu uloží do té doby, dokud ji příjemce nepřijme. To znamená, že proces příjemce nemusí běžět v době, kdy odesílatel odesílá.
|
||||
|
||||
Na druhou stranu máme \uv{transientní} komunikaci, kdy zpráva je uložena jen po dobu, kdy běží proces odesílatele a příjemce. To znamená, že pokud příjemce není dostupný, zprávu nikdy nepřijme. Protokoly v transportní vrstvě jsou transientní.
|
||||
Pro různé účely a situace máme jiné modely komunikace. Například email je typický příklad \uv{persistentní} komunikace. Po odeslání si persistentní middleware zprávu uloží do té doby, dokud ji příjemce nepřijme. To znamená, že proces příjemce nemusí běžět v době, kdy odesílatel odesílá. Na druhou stranu máme \uv{transientní} komunikaci, kdy zpráva je uložena jen po dobu, kdy běží proces odesílatele a příjemce. To znamená, že pokud příjemce není dostupný, zprávu nikdy nepřijme.
|
||||
|
||||
Dále může být komunikace \uv{synchronní} nebo \uv{asynchronní}. Asynchronní znamená, že odesílatel pokračuje v běhu okamžitě po odeslání zprávy. Ta se dočasně uloží v middleware do doby, než se odešle. Na druhou stranu při synchronní komunikaci volající proces zastaví, dokud neobdrží odpověď z cílového procesu. Obecně tedy definujeme tři body, kde může nastat synchronizace (proces odesílatele pokračuje v práci). Zaprvé hned poté, co middleware převzal zprávu a zodpovědnost za její doručení. Zadruhé v moment, kdy byla zpráva doručena druhému procesu. Zatřetí až v moment, kdy druhá strana zpracovala požadavek a dostali jsme odpověď.
|
||||
|
||||
@@ -275,7 +274,10 @@ Prvním přístupem je Remote Procedure Call, který procesu umožňuje zavolat
|
||||
|
||||
Jedná se o intuitivní řešení, ale přináší pár problémů. Dva počítače mají různý adresní prostor, proto je třeba vyřešit, jak bude procedura využívat ukazatele do svého adresního prostoru, nebo jestli tuto vlastnost zakáže.
|
||||
|
||||
Druhým přístupem je posílání zpráv. V tomto přístupu posílají procesy zprávy na logické cíle pomocí systémového jména, nikoliv fyzické adresy. Tento přístup méně schovává fakt, že procesy jsou rozmístěny na více počítačích a abstrakce z fyzických adres na jména pomáhá. Využívá se v architektuře publish-subscribe nebo občas v architektuře orientované na služby.
|
||||
Druhým přístupem je posílání zpráv. V tomto přístupu posílají procesy zprávy na
|
||||
logické cíle pomocí jména v systému, nikoliv fyzické adresy. Tento přístup méně
|
||||
schovává fakt, že procesy jsou rozmístěny na více počítačích. Abstrakce z
|
||||
fyzických adres na jména pomáhá jednoduchosti. Využívá se v architektuře publish-subscribe nebo občas v architektuře orientované na služby.
|
||||
|
||||
Opět je potřeba, aby se dva koncové body shodli na významu bitů jednotlivých zpráv. Většinou jsou v programu zprávy reprezentovány objektem, který je pro síť převeden na n-tici bitů, procesem zvaným \uv{serializace}. V praktické části představíme serializaci podrobněji.
|
||||
|
||||
@@ -291,18 +293,21 @@ Opět je potřeba, aby se dva koncové body shodli na významu bitů jednotlivý
|
||||
|
||||
\subsection{Počítačová Síť} \label{sec:NetworkCommunication}
|
||||
|
||||
Nedílnou součástí distribuovaného systému je síť, přes kterou mohou procesy posílat primitivní zprávy. V této podkapitole se zaměříme na komunikaci mezi dvěma procesy v síti, a to i těch, které nejsou součástí jednoho síťového systému. Počítačová síť je skupina propojených počítačů, které si mezi sebou přenášejí data. Například lokální sítě (LAN) propojují až tisíce počítačů, které jsou geograficky blízko, například v rámci jedné budovy. Rozsáhlé sítě (WAN) propojují miliony různých zařízení po celém světě. Příkladem je síť Internet.
|
||||
V této části popíšeme, jak mezi sebou mohou komunikovat dva procesy, které běží na dvou různých počítačích. Počítačová síť je skupina propojených počítačů, které si mezi sebou přenášejí data. Definujeme několik typů sítí, které se liší velikostí a provedením. Například lokální sítě (LAN) propojují až tisíce počítačů, které jsou geograficky blízko, například v rámci jedné budovy. Rozsáhlé sítě (WAN) propojují miliony různých zařízení po celém světě. Příkladem je rozsáhlá síť Internet.
|
||||
|
||||
Počítačovou síť si lze představit jako graf, ve kterém počítače představují vrcholy a fyzická média mezi nimi jsou hrany. Vrcholy dále dělíme na \uv{koncové body} a \uv{propojovací prvky}. Koncové body jsou počítače, mobilní telefony a jiná zařízení, na kterých běží procesy. Dva procesy na dvou různých počítačích si mezi sebou mohou posílat zprávy. Propojovací prvky jsou přepínače, rozbočovače a opakovače. Ty naopak slouží pouze k směrování zpráv po síti. Využití je propojení skupiny počítačů do sítě přes jedno spojení jako vidíme na obrázku TODO. Propojovací body jsou E a D. Není potřeba připojovat každý počítač s každým.
|
||||
Počítačovou síť si lze představit jako graf, ve kterém počítače představují
|
||||
vrcholy a fyzická média mezi nimi jsou hrany. Vrcholy dále dělíme na \uv{koncové body} a \uv{propojovací prvky}. Díky propojovacím prvkům je možné poslat zprávu přes více vrcholů na cílový počítač. Příkladem takových prvků jsou přepínače, rozbočovače a opakovače. Sítím, které je využívají, se říká \uv{přepínané sítě}. Koncové body jsou například stolní počítače, mobilní telefony a jiná zařízení, na kterých běží komunikující procesy.
|
||||
|
||||
Dva počítače, přímo propojené fyzickým médiem, komunikují posíláním n-tic bytů zvané \uv{rámce}. Variantou jsou \uv{přepínané} sítě, které nemusejí mít mezi všemi dvojicemi počítačů přímé spojení, ale využívají \uv{přepínače}. Proces, kdy doručujeme zprávu na cílový počítač přes vícero přepínačů se nazývá \uv{směrování}. Každý vrchol v takové síti musí mít přiřazenou unikátní \uv{síťovou adresu} a posílali se formátované rámce zvané \uv{pakety}. Ty se skládají z hlavičky, ve které najdeme informace ke směrovaní, a tělu obsahujícím samotnou přenášenou zprávu.
|
||||
Dva počítače, přímo propojené fyzickým médiem, komunikují posíláním n-tic bytů zvané \uv{rámce}. V přepínaných sítích mají rámce konkrétní formát, který pomáhá při hledání cesty v grafu, tzv. \uv{směrování}. Takový formátovaný rámec se nazývá \uv{paket}. Zároveň musí mít každý vrchol v takové síti přiřazenou unikátní \uv{síťovou adresu}. Paket se skládá z hlavičky a těla. V hlavičce najdeme síťovou adresu cílového počítače, pomocí které přepínače hledají pro paket cestu. V těle paketu pak samotná zpráva.
|
||||
|
||||
\subsection{Komunikace v síti}
|
||||
|
||||
V této části představíme jak je realizována komunikace v síti. Aby si dva počítače navzájem rozuměly, musejí se shodnout na významu jednotlivých bitů rámců, které si mezi sebou budou posílat. K takové definici slouží \uv{komunikační protokol}: soubor pravidel pro výměnu informací mezi počítači. Definuje syntaxi, sémantiku a synchronizaci zpráv.
|
||||
V této části představíme jak je implementována komunikace v síti. Aby si dva počítače, které si posílají rámce, navzájem rozuměly, musejí se shodnout na významu jednotlivých bitů rámců. K takové definici slouží \uv{komunikační protokol}: soubor pravidel pro výměnu informací mezi počítači. Definuje syntaxi, sémantiku a synchronizaci zpráv.
|
||||
|
||||
Každý protokol poskytuje komunikační služby. Tyto služby rozdělujeme na dvě skupiny: ty co před komunikací navážou spojení a ty co ne. V prvním případě musejí obě strany přijmout a navázat spojení a potencionálně se domluvit na jeho dalších parametrech. Jakmile jejich komunikace skončí, spojení se ukončí. Příkladem takové služby je telefoní linka. V druhém případě může odeslat zprávu kdykoliv a bez předchozího upozornění druhé strany. Příkladem takové komunikace je posílání emailu.
|
||||
|
||||
Protokoly jsou často organizovány do vrstev, které se liší svou zodpovědností. Každá vrstva poskytuje komunikační službu přes své rozhraní. TODO
|
||||
|
||||
\subsubsection{Rodina protokolů TCP/IP}
|
||||
|
||||
Rodina protokolů pro komunikaci v síti Internet je TCP/IP. Jedná se o více protokolů organizovaných do vrstev, kde každá může používat jen tu pod ní. Vrstvenou architekturu vidíme na obrázku \ref{fig:layer_architecture}. Vrstva $N$ používá rozhraní vrstvy $N-1$. Každá vrstva poskytuje komunikační služby. Počítač A i B tak vidí stejnou službu. Představme si, že rozhraní má dvě funkce: pro čtení a pro zápis. Aplikace do vrstvy $N$ zapíše zprávu, kterou chce, aby si proces využívající stejnou službu, ale na druhém počítači, mohl přečíst. Je potřeba, aby vrstva zapsala zprávu ve formátu, kterému bude rozumnět strana A i strana B. Tento formát je právě protokol, jak vidíme na obrázku \ref{fig:layer_architecture}.
|
||||
@@ -318,9 +323,11 @@ Rodina protokolů pro komunikaci v síti Internet je TCP/IP. Jedná se o více p
|
||||
|
||||
Název se skládá ze dvou důležitých protokolů: IP (Internet Protocol) a TCP (Transmission Control Protocol). IP slouží pro směrování paketů a TCP pro řízení přenosu. IP umožňuje komunikaci libovolných dvou uzlů počítačů v propojených sítích. TCP zajišťuje spolehlivý obousměrný přenos dat mezi procesy na dvou počítačích (ne nutně různých).
|
||||
|
||||
Protokol IP má za úkol doručit paket od odesílatele na příjemce pouze podle IP adresy, která je v hlavičce paketu. IP nenavazuje spojení a nezaručuje doručení. Důvodem je princip \uv{end-to-end}, který říká, že body mezi odesílatelem a příjemcem, jako routery a přepínače, by měli být co nejjednodušší. Spolehlivost musejí zaručit až dva koncové body, například číslováním paketů a sledováním stavu doručení. V případě, že paket chybí, ho musí odesílatel odeslat znova.
|
||||
Protokol IP má za úkol doručit paket od odesílatele na příjemce pouze podle IP adresy, která je v hlavičce paketu. IP nenavazuje spojení a nezaručuje doručení. Důvodem je princip \uv{end-to-end}, který říká, že body mezi odesílatelem a příjemcem, jako routery a přepínače, by měli být co nejjednodušší. Spolehlivost musejí zaručit až dva koncové body, například číslováním paketů a sledováním stavu doručení. Případné ztráty paketu musí odesílatel tento fakt zjistit a ztracené pakety odeslat znovu.
|
||||
|
||||
Router udržuje frontu příchozích paketů, která má fixní velikost. Jakmile objem příchozích paketů překročí kapacitu fronty, router má různé politiky, jak se v takové situaci zachovat. Nejběžnější je politika \uv{tail-drop}, kdy paket zahodí. Proto musejí koncové body hlídat a měřit zahlcení sítě. Měli by hlídat, jak moc paketů se ztrácí a případně snížit frekvenci odesílání. V TCP/IP se o to stará protokol TCP, který si má frontu paketů, které musí odeslat a udržuje si ve frontě okno paketů, které jsou odeslané ale nepotvrzené neboli \uv{in-flight}. Pokud není potvrzeno až příliš paketů, okno zmenší a tím sníží počet paketů, které mohou být najednou v síti.
|
||||
Ztráta paketu nastává, když je některý z přepínačů na cestě mezi odesílatelem a příjemcem, zahlcený. Přepínač si přijaté pakety ukládá do fixně velké fronty, ze které také postupně odebírá a snaží se najít další vhodný uzel, kam každý paket poslat. Pro případ přehlcení fronty má přepínač definovanou politiku. Běžná je politika \uv{tail-drop}, která nově příchozí paket, který se nevejde do fronty, zahodí. V tento moment se paket ztrácí.
|
||||
|
||||
Koncové body si musejí hlídat a měřit zahlcení sítě. V případě, že jsou uzly na cestě zahlcené, měl by odesílatel snížit frekvenci odesílání. V TCP/IP se o to stará protokol TCP. Příjemce pro každý paket, který dostane, musí odeslat acknoledge, kterým oznamuje odesílateli, že paket přijal. Odesílatel si proto drží frontu paketů, které musí odeslat. Zároveň si udržuje okno těchto paketů, které jsou odeslané ale ještě nepotvrzené neboli \uv{in-flight}. Pokud není potvrzeno až příliš paketů, okno zmenší a tím sníží počet paketů, které mohou být najednou v síti.
|
||||
|
||||
Konkrétně architektura TCP/IP je rozdělena do čtyř vrstev: aplikační, transportní, síťová a síťové rozhraní. Každá vrstva obsahuje množinu protokolů a pro každou situaci lze sestavit ideální čtveřice. Vrstvy podrobněji představíme.
|
||||
|
||||
@@ -419,6 +426,8 @@ V protokolu na transportní vrstvě dochází k head-of-line blokování. Pokud
|
||||
|
||||
Nevýhoda pro nás byla, že přenáší proud dat. Jinými slovy, v protokolu není proud rozdělen na jednotlivé bloky se zprávou. Tuto logiku si musíme implementovat sami. Proto jsme v praktické části vytvořili vlastní protokol, který umí v proudu zprávy správně oddělit.
|
||||
|
||||
Pro šifrovánou komunikaci je potřeba použít další protokol, například TLS. Ten opět vyžaduje handshake, protože se strany musejí dohodnout na tajném klíči.
|
||||
|
||||
\subsubsection{UDP}
|
||||
|
||||
Méně spolehlivá alternativa je UDP, neboli User Datagram Protocol. Ten komunikuje posíláním \uv{datagramů}, na rozdíl od proudu bytů, jako je tomu v případě TCP. Znamená to, že to co vrátí jedno systémové volání pro čtení ze soketu je právě jedno volání pro zápis, které udělal odesílatel. Protokol nenavazuje spojení a nezaručuje doručení datagramů.
|
||||
@@ -429,15 +438,15 @@ Je vhodný jako základ pro vlastní transportní protokol. Například protokol
|
||||
|
||||
\subsubsection{QUIC}
|
||||
|
||||
QUIC je spolehlivý protokol transportní vrstvy, který poskytuje multiplexní komunikaci založenou na TLS 1.3, od společnosti Google. Jeho cílem je být efektivnější varianta TCP, která využívá protokol UDP. Znamená to například, že lze snížit množství ahead-of-line blokování, ke kterému dochází z důvodu ztracených paketů. Mezi dvěma koncovými body vytváří spolehlivé spojení.
|
||||
QUIC je spolehlivý protokol transportní vrstvy, který poskytuje multiplexní komunikaci založenou na TLS 1.3. Autorem protokolu je společnost Google. Mezi jeho hlavní výhody patří redukce ahead-of-line blokování. Tento protokol je pro nás důležitý, protože popisuje implementaci spolehlivosti, handshake a dalších věcí nad protokolem UDP. V pozdější kapitole představíme náš protokol, který je protokolem QUIC inspirovaný a dále ho upravuje. Mezi úpravy patří možnost odeslání zpráv nespolehlivě a s různým seřazením. V této části podrobněji popíšeme části protokolu QUIC, které jsou pro náš protokol důležité.
|
||||
|
||||
Na rozdíl od TCP umožňuje otevřít více nezávislých proudů paketů v jednom spojení a modelovat tak částečné uspořádání. TCP má vždy právě jeden proud.
|
||||
Výhoda QUIC oproti TCP je možnost vytvořit více nezávislých proudů dat v jednom navázaném spojení, mezi dvěma koncovými body. TCP má vždy právě jeden proud.
|
||||
|
||||
Mezi dvěma koncovými body se posílají pakety. Ty obsahují rámce, které se rozdělují na ovládací a proudové. Ovládací slouží pro ovládání koncových bodů a úprava navázaného spojení: otevírání a zavírání proudů, změna stavu nebo udržování spojení naživu. Proudové obsahují aplikační data. Stejně jako TCP, i QUIC přenáší data jako proud bytů a oddělení jednotlivých zpráv je nutné implementovat zvlášť.
|
||||
|
||||
\begin{description}
|
||||
\item[{Pakety}] \hfill \\
|
||||
Dvě strany komunikující přes QUIC protokol mezi sebou posílají sekvenční pakety různých typů. Příkladem jsou: \texttt{Initial}, \texttt{0-RTT}, \texttt{Handshake} a \texttt{1-RTT}. Liší se v síle šifrování, které používají, každý typ má svůj číselný prostor a liší se i hlavička. Každý paket má své unikátní pořadové číslo, které se v rozumném čase nesmí použít znova, a to ani při opakovaném poslání stejného paketu z důvodu ztráty. Různé typy paketů mají ale čítač nezávislý. Pakety typu \texttt{Initial} a \texttt{Handshake} mají dlouhou hlavičku a \texttt{0-RTT} a \texttt{1-RTT} mají krátkou hlavičku.
|
||||
Dvě strany komunikující přes QUIC protokol mezi sebou posílají sekvenční Pakety různých typů. Příkladem jsou: \texttt{Initial}, \texttt{0-RTT}, \texttt{Handshake} a \texttt{1-RTT}. Liší se v síle šifrování, které používají, každý typ má svůj číselný prostor a liší se i hlavička. Každý paket má své unikátní pořadové číslo, které se v rozumném čase nesmí použít znova, a to ani při opakovaném poslání stejného paketu z důvodu ztráty. Různé typy paketů mají ale čítač nezávislý. Pakety typu \texttt{Initial} a \texttt{Handshake} mají dlouhou hlavičku a \texttt{0-RTT} a \texttt{1-RTT} mají krátkou hlavičku.
|
||||
|
||||
\item[{Spolehlivost}] \hfill \\
|
||||
Protokol QUIC zajišťuje spolehlivost jednotlivých rámců. Příjemce musí odeslat zpět odesílateli rámec typu \texttt{ACK} se zakódovaným číslem paketu, ve kterém rámce získal. Tento rámec může obsahovat i více paketů zároveň a protokol toho využívá tak, že neposílá \texttt{ACK} tak často.
|
||||
@@ -452,9 +461,16 @@ Mezi dvěma koncovými body se posílají pakety. Ty obsahují rámce, které se
|
||||
|
||||
\end{description}
|
||||
|
||||
Popíšeme, jak v QUIC funguje handshake, který vidíme na obrázku \ref{fig:quic_handshake}. Nejprve začíná strana, která se chce připojit, posláním paketu typu \texttt{Initial} s rámcem CRYPTO s ClientHello. Server odpoví několika rámci: \texttt{Initial} s \texttt{CRYPTO} rámcem se ServerHello společně s ACK rámcem a paketem typu \texttt{Handshake} ve kterém je \texttt{CRYPTO} rámec s potřebnými informacemi pro TLS. Aplikační data jsou v paketu typu \texttt{1-RTT} a \texttt{0-RTT}. Jakmile klient dostane tyto informace, mohou si strany posílat šifrovaná data. Toho QUIC využívá a první odpověď ze serveru už může obsahovat paket \texttt{1-RTT} se \texttt{STREAM} rámci s šifrovanými daty, jak vidíme na obrázku \ref{fig:quic_handshake}. Dále si všimněme, že každý typ paketu má vlastní prostor čísel. QUIC používá UDP a proto posílá datagramy. Do jednoho datagramu spojuje více paketů. Tři pakety ze serveru, které přijdou jako odpověď, se tak mohou odeslat jako jeden datagram.
|
||||
|
||||
Při handshake se dva koncové body mimo jiné domlouvají na svých unikátních číslech. Při Client-Hello se server podívá na Source Connection ID a zapamatuje si ho jako ID připojení druhé strany. Následně vygeneruje své vlastní ID a přiřadí mu instanci relace. Pak se podívá na Destination Connection ID a nastaví si, aby pakety, které mají toto číslo jako Destination Connection ID, se připisovaly nově vytvořené relaci. Toto číslo jako takové nebude používat a v odpovědi jako Source Connection ID bude jeho vlastní vygenerované.
|
||||
Než popíšeme, jak funguje proces handshake pro navázání spojení, popíšeme na čem se dvě strany budou domlouvat. V navázaném spojení má každá strana unikátní ID. Když chce odesílatel poslat paket, musí do jeho hlavičky definovat ID příjemce. Je to z toho důvodu, že koncový bod v QUIC může mít více navázaných spojení pod stejným portem a tímto mezi nimi rozlišuje. V TCP je unikátní identifikátor síťová adresa. Ta se ale může snadno změnit, například když přepneme z mobilních dat na Wi-Fi. V ten moment by v TCP nastal proces time-out, kdy obě strany zjišťují, že už se nevidí a spojení by ukončili. Následně by se původní iniciátor komunikace, nyní s novou IP adresou, pokusil spojení opět navázat. To by znamenalo zopakovat celý proces handshake. V případě QUIC je možné se opakovanému navazování spojení lze vyhnout. Jakmile příjemci dorazí paket na původní ID, ale z nové IP adresy, provede authentizaci a pokud projde, tak si IP adresu druhé strany přenastaví.
|
||||
|
||||
Dostáváme se k šifrování, které QUIC podporuje už v základu. Před tím, než může začít šifrovaná komunikace, musí se obě strany shodnout na tajném klíči, kterým budou zprávy šifrovat. Příkladem protokolu pro šifrovanou komunikaci je TLS. V případě TCP by TLS nebo jiný šifrovací protokol stál ještě nad TCP protokolem. QUIC ale implementuje TLS už v základu, konkrétně verzi 1.3. V původní implementaci by po handshake v TCP bylo potřeba udělat druhý handshake a shodnout se na tajném klíči. V případě QUIC se tajný klíč vytváří už při hlavním
|
||||
|
||||
Pro navázání spojení je nutné se v QUIC shodnout na ID obou stran a tajném klíči procesem zvaný handshake. Diagram vidíme na obrázku \ref{fig:quic_handshake}. V procesu si dvě strany, neboli koncové body, posílají konkrétní ovládací rámce.
|
||||
|
||||
|
||||
Nejprve začíná strana, která se chce připojit, posláním paketu typu \texttt{Initial} s rámcem CRYPTO s ClientHello. Server odpoví několika rámci: \texttt{Initial} s \texttt{CRYPTO} rámcem se ServerHello společně s ACK rámcem a paketem typu \texttt{Handshake} ve kterém je \texttt{CRYPTO} rámec s potřebnými informacemi pro TLS. Aplikační data jsou v paketu typu \texttt{1-RTT} a \texttt{0-RTT}. Jakmile klient dostane tyto informace, mohou si strany posílat šifrovaná data. Toho QUIC využívá a první odpověď ze serveru už může obsahovat paket \texttt{1-RTT} se \texttt{STREAM} rámci s šifrovanými daty, jak vidíme na obrázku \ref{fig:quic_handshake}. Dále si všimněme, že každý typ paketu má vlastní prostor čísel. QUIC používá UDP a proto posílá datagramy. Do jednoho datagramu spojuje více paketů. Tři pakety ze serveru, které přijdou jako odpověď, se tak mohou odeslat jako jeden datagram.
|
||||
|
||||
|
||||
\begin{figure}
|
||||
\begin{center}
|
||||
@@ -466,9 +482,6 @@ Při handshake se dva koncové body mimo jiné domlouvají na svých unikátníc
|
||||
|
||||
Všimněme si speciálního typu paketu \texttt{0-RTT}, který slouží pro poslání aplikačních dat ještě před samotným navázáním spojení, ale pouze se základním šifrováním. Pro tento paket se využívá první Destination Connection ID, které ale vygeneroval iniciátor komunikace. Jedno spojení může mít přiřazeno více ID. Spojení, které si založí druhá strana, si přiřadí jak ID vygenerované touto stranou, tak ID, které zvolil iniciátor. Když přijde později paket \texttt{0-RTT}, bude správně nasměrován na instanci spojení.
|
||||
|
||||
Způsobem, jakým QUIC redukuje nebo dokonce eliminuje head-of-line blocking, je multiplexing. Přes jedno spojení je možné otevřít více paralelních proudů, které se navzájem neovlivňují.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+55
-55
@@ -10,70 +10,70 @@
|
||||
\contentsline {subsection}{\numberline {3.3}Počítačová Síť}{12}{subsection.3.3}%
|
||||
\contentsline {subsection}{\numberline {3.4}Komunikace v síti}{13}{subsection.3.4}%
|
||||
\contentsline {subsubsection}{\numberline {3.4.1}Rodina protokolů TCP/IP}{13}{subsubsection.3.4.1}%
|
||||
\contentsline {subsection}{\numberline {3.5}Protokoly v aplikační vrstvě}{15}{subsection.3.5}%
|
||||
\contentsline {subsection}{\numberline {3.5}Protokoly v aplikační vrstvě}{16}{subsection.3.5}%
|
||||
\contentsline {subsubsection}{\numberline {3.5.1}HTTP}{16}{subsubsection.3.5.1}%
|
||||
\contentsline {subsubsection}{\numberline {3.5.2}HTTP/3}{16}{subsubsection.3.5.2}%
|
||||
\contentsline {subsection}{\numberline {3.6}Protokoly v transportní vrstvě}{16}{subsection.3.6}%
|
||||
\contentsline {subsection}{\numberline {3.6}Protokoly v transportní vrstvě}{17}{subsection.3.6}%
|
||||
\contentsline {subsubsection}{\numberline {3.6.1}TCP}{17}{subsubsection.3.6.1}%
|
||||
\contentsline {subsubsection}{\numberline {3.6.2}UDP}{18}{subsubsection.3.6.2}%
|
||||
\contentsline {subsubsection}{\numberline {3.6.3}QUIC}{18}{subsubsection.3.6.3}%
|
||||
\contentsline {subsection}{\numberline {3.7}Sokety}{21}{subsection.3.7}%
|
||||
\contentsline {subsection}{\numberline {3.8}Asynchroní vstupně výstupní operace}{21}{subsection.3.8}%
|
||||
\contentsline {subsubsection}{\numberline {3.8.1}ZeroMQ}{21}{subsubsection.3.8.1}%
|
||||
\contentsline {subsubsection}{\numberline {3.8.2}Work stealing}{21}{subsubsection.3.8.2}%
|
||||
\contentsline {subsubsection}{\numberline {3.8.1}ZeroMQ}{22}{subsubsection.3.8.1}%
|
||||
\contentsline {subsubsection}{\numberline {3.8.2}Work stealing}{22}{subsubsection.3.8.2}%
|
||||
\contentsline {subsubsection}{\numberline {3.8.3}Async/Await}{22}{subsubsection.3.8.3}%
|
||||
\contentsline {subsubsection}{\numberline {3.8.4}Boost Asio}{22}{subsubsection.3.8.4}%
|
||||
\contentsline {section}{\numberline {4}Hra}{23}{section.4}%
|
||||
\contentsline {subsection}{\numberline {4.1}Engine}{23}{subsection.4.1}%
|
||||
\contentsline {subsubsection}{\numberline {4.1.1}Fyzický engine}{24}{subsubsection.4.1.1}%
|
||||
\contentsline {subsubsection}{\numberline {4.1.2}Vykreslování}{24}{subsubsection.4.1.2}%
|
||||
\contentsline {subsubsection}{\numberline {4.1.3}Entity-Component-System}{24}{subsubsection.4.1.3}%
|
||||
\contentsline {section}{\numberline {5}Hra více hráčů}{27}{section.5}%
|
||||
\contentsline {subsection}{\numberline {5.1}Server}{27}{subsection.5.1}%
|
||||
\contentsline {subsubsection}{\numberline {5.1.1}Registr klientů}{28}{subsubsection.5.1.1}%
|
||||
\contentsline {subsubsection}{\numberline {5.1.2}Server Replikátoru}{29}{subsubsection.5.1.2}%
|
||||
\contentsline {subsubsection}{\numberline {5.1.3}Správa zájmů}{29}{subsubsection.5.1.3}%
|
||||
\contentsline {subsection}{\numberline {5.2}Klient}{29}{subsection.5.2}%
|
||||
\contentsline {subsubsection}{\numberline {5.2.1}Klient Replikátoru}{29}{subsubsection.5.2.1}%
|
||||
\contentsline {subsubsection}{\numberline {5.2.2}Interpolace}{29}{subsubsection.5.2.2}%
|
||||
\contentsline {subsubsection}{\numberline {5.2.3}Rollback}{30}{subsubsection.5.2.3}%
|
||||
\contentsline {subsection}{\numberline {5.3}Posílání zpráv}{30}{subsection.5.3}%
|
||||
\contentsline {subsubsection}{\numberline {5.3.1}Kódování zpráv}{30}{subsubsection.5.3.1}%
|
||||
\contentsline {subsubsection}{\numberline {5.3.2}Implementace}{31}{subsubsection.5.3.2}%
|
||||
\contentsline {subsubsection}{\numberline {5.3.3}Detekce a náprava chyb}{31}{subsubsection.5.3.3}%
|
||||
\contentsline {subsection}{\numberline {5.4}Serializace}{31}{subsection.5.4}%
|
||||
\contentsline {subsection}{\numberline {5.5}Protokol QUICr}{32}{subsection.5.5}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.1}Rámce}{33}{subsubsection.5.5.1}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.2}Handshake}{33}{subsubsection.5.5.2}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.3}Spolehlivost}{34}{subsubsection.5.5.3}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.4}Enkodér}{35}{subsubsection.5.5.4}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.5}Testování}{36}{subsubsection.5.5.5}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.6}Congestion control}{36}{subsubsection.5.5.6}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.7}Bandwidth control}{36}{subsubsection.5.5.7}%
|
||||
\contentsline {subsection}{\numberline {5.6}Sharding}{36}{subsection.5.6}%
|
||||
\contentsline {subsection}{\numberline {5.7}Horizontální škálování}{36}{subsection.5.7}%
|
||||
\contentsline {section}{\numberline {6}Výsledná hra}{37}{section.6}%
|
||||
\contentsline {section}{\numberline {7}Měřění}{38}{section.7}%
|
||||
\contentsline {subsection}{\numberline {7.1}Metriky}{38}{subsection.7.1}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.1}PostgreSQL}{38}{subsubsection.7.1.1}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.2}TimescaleDB}{38}{subsubsection.7.1.2}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.3}Grafana}{38}{subsubsection.7.1.3}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.4}Orchestrace}{39}{subsubsection.7.1.4}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.5}ImGui}{39}{subsubsection.7.1.5}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.6}Tracy}{39}{subsubsection.7.1.6}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.7}Konkrétní metriky}{40}{subsubsection.7.1.7}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.8}Sbírání v reálném čase}{40}{subsubsection.7.1.8}%
|
||||
\contentsline {subsection}{\numberline {7.2}QUICr}{41}{subsection.7.2}%
|
||||
\contentsline {subsection}{\numberline {7.3}Optimalizace replikátoru}{43}{subsection.7.3}%
|
||||
\contentsline {subsection}{\numberline {7.4}Optimalizace manažera zájmů}{45}{subsection.7.4}%
|
||||
\contentsline {subsection}{\numberline {7.5}Závěry}{46}{subsection.7.5}%
|
||||
\contentsline {section}{Z\'av\v er}{47}{section*.3}%
|
||||
\contentsline {subsubsection}{\numberline {3.8.4}Boost Asio}{23}{subsubsection.3.8.4}%
|
||||
\contentsline {section}{\numberline {4}Hra}{24}{section.4}%
|
||||
\contentsline {subsection}{\numberline {4.1}Engine}{24}{subsection.4.1}%
|
||||
\contentsline {subsubsection}{\numberline {4.1.1}Fyzický engine}{25}{subsubsection.4.1.1}%
|
||||
\contentsline {subsubsection}{\numberline {4.1.2}Vykreslování}{25}{subsubsection.4.1.2}%
|
||||
\contentsline {subsubsection}{\numberline {4.1.3}Entity-Component-System}{25}{subsubsection.4.1.3}%
|
||||
\contentsline {section}{\numberline {5}Hra více hráčů}{28}{section.5}%
|
||||
\contentsline {subsection}{\numberline {5.1}Server}{28}{subsection.5.1}%
|
||||
\contentsline {subsubsection}{\numberline {5.1.1}Registr klientů}{29}{subsubsection.5.1.1}%
|
||||
\contentsline {subsubsection}{\numberline {5.1.2}Server Replikátoru}{30}{subsubsection.5.1.2}%
|
||||
\contentsline {subsubsection}{\numberline {5.1.3}Správa zájmů}{30}{subsubsection.5.1.3}%
|
||||
\contentsline {subsection}{\numberline {5.2}Klient}{30}{subsection.5.2}%
|
||||
\contentsline {subsubsection}{\numberline {5.2.1}Klient Replikátoru}{30}{subsubsection.5.2.1}%
|
||||
\contentsline {subsubsection}{\numberline {5.2.2}Interpolace}{30}{subsubsection.5.2.2}%
|
||||
\contentsline {subsubsection}{\numberline {5.2.3}Rollback}{31}{subsubsection.5.2.3}%
|
||||
\contentsline {subsection}{\numberline {5.3}Posílání zpráv}{31}{subsection.5.3}%
|
||||
\contentsline {subsubsection}{\numberline {5.3.1}Kódování zpráv}{31}{subsubsection.5.3.1}%
|
||||
\contentsline {subsubsection}{\numberline {5.3.2}Implementace}{32}{subsubsection.5.3.2}%
|
||||
\contentsline {subsubsection}{\numberline {5.3.3}Detekce a náprava chyb}{32}{subsubsection.5.3.3}%
|
||||
\contentsline {subsection}{\numberline {5.4}Serializace}{32}{subsection.5.4}%
|
||||
\contentsline {subsection}{\numberline {5.5}Protokol QUICr}{33}{subsection.5.5}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.1}Rámce}{34}{subsubsection.5.5.1}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.2}Handshake}{34}{subsubsection.5.5.2}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.3}Spolehlivost}{35}{subsubsection.5.5.3}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.4}Enkodér}{36}{subsubsection.5.5.4}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.5}Testování}{37}{subsubsection.5.5.5}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.6}Congestion control}{37}{subsubsection.5.5.6}%
|
||||
\contentsline {subsubsection}{\numberline {5.5.7}Bandwidth control}{37}{subsubsection.5.5.7}%
|
||||
\contentsline {subsection}{\numberline {5.6}Sharding}{37}{subsection.5.6}%
|
||||
\contentsline {subsection}{\numberline {5.7}Horizontální škálování}{37}{subsection.5.7}%
|
||||
\contentsline {section}{\numberline {6}Výsledná hra}{38}{section.6}%
|
||||
\contentsline {section}{\numberline {7}Měřění}{39}{section.7}%
|
||||
\contentsline {subsection}{\numberline {7.1}Metriky}{39}{subsection.7.1}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.1}PostgreSQL}{39}{subsubsection.7.1.1}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.2}TimescaleDB}{39}{subsubsection.7.1.2}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.3}Grafana}{39}{subsubsection.7.1.3}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.4}Orchestrace}{40}{subsubsection.7.1.4}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.5}ImGui}{40}{subsubsection.7.1.5}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.6}Tracy}{40}{subsubsection.7.1.6}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.7}Konkrétní metriky}{41}{subsubsection.7.1.7}%
|
||||
\contentsline {subsubsection}{\numberline {7.1.8}Sbírání v reálném čase}{41}{subsubsection.7.1.8}%
|
||||
\contentsline {subsection}{\numberline {7.2}QUICr}{42}{subsection.7.2}%
|
||||
\contentsline {subsection}{\numberline {7.3}Optimalizace replikátoru}{44}{subsection.7.3}%
|
||||
\contentsline {subsection}{\numberline {7.4}Optimalizace manažera zájmů}{46}{subsection.7.4}%
|
||||
\contentsline {subsection}{\numberline {7.5}Závěry}{47}{subsection.7.5}%
|
||||
\contentsline {section}{Z\'av\v er}{48}{section*.3}%
|
||||
\babel@toc {czech}{}\relax
|
||||
\babel@toc {czech}{}\relax
|
||||
\contentsline {section}{Conclusions}{48}{section*.5}%
|
||||
\contentsline {section}{Conclusions}{49}{section*.5}%
|
||||
\babel@toc {english}{}\relax
|
||||
\babel@toc {czech}{}\relax
|
||||
\contentsline {section}{\numberline {A}První příloha}{49}{appendix.A}%
|
||||
\contentsline {section}{\numberline {B}Druhá příloha}{49}{appendix.B}%
|
||||
\contentsline {section}{\numberline {C}Obsah elektronických dat}{49}{appendix.C}%
|
||||
\contentsline {section}{Seznam zkratek}{51}{section*.7}%
|
||||
\contentsline {section}{\numberline {A}První příloha}{50}{appendix.A}%
|
||||
\contentsline {section}{\numberline {B}Druhá příloha}{50}{appendix.B}%
|
||||
\contentsline {section}{\numberline {C}Obsah elektronických dat}{50}{appendix.C}%
|
||||
\contentsline {section}{Seznam zkratek}{52}{section*.7}%
|
||||
|
||||
Reference in New Issue
Block a user