From 376497d0f9f839b066cc53f9cc663a1ee246c21f Mon Sep 17 00:00:00 2001 From: tho <tho@wiback.org> Date: Mon, 18 Feb 2008 14:43:17 +0000 Subject: [PATCH] updated RateStuffer documentation --- Examples/RateStuffer/Mainpage.dox | 31 +++++++++++++++++---------- Examples/RateStuffer/ratestuffer.dia | Bin 2452 -> 2601 bytes 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/Examples/RateStuffer/Mainpage.dox b/Examples/RateStuffer/Mainpage.dox index fcc73036..4a3eda97 100644 --- a/Examples/RateStuffer/Mainpage.dox +++ b/Examples/RateStuffer/Mainpage.dox @@ -60,7 +60,16 @@ \section setup Module setup - \image html ratestuffer.png + <div class="diamap" name="ratestuffer"> + <span coords="101,139,220,206">\ref senf::ppi::module::ThrottleBarrier</span> + <span coords="241,152,365,219">\ref senf::ppi::module::PassiveQueue</span> + <span coords="606,346,748,400">\ref senf::ppi::module::PassiveSocketSink<></span> + <span coords="528,190,647,257">\ref RateFilter</span> + <span coords="387,165,511,245">\ref senf::ppi::module::PriorityJoin</span> + <span coords="0,0,149,53">\ref senf::ppi::module::ActiveSocketSource<></span> + <span coords="241,235,365,289">\ref senf::ppi::module::CloneSource</span> + </div> + \htmlonly <img src="ratestuffer.png" border="0" alt="ratestuffer" usemap="#ratestuffer"> \endhtmlonly Above image depicts the module setup implementing the rate stuffer. A senf::ppi::module::ActiveSocketSource reads the incoming UDP packets and sends them into a @@ -70,7 +79,7 @@ \a generator is fed as second input into the \a join to provide the stuffing packets. The RateFilter \a rateFilter reads packets from it's input at a fixed rate and writes them into - the senf::ppi::module::PassiveSocketWriter \a udpWriter. The senf::ppi::module::PriorityJoin + the senf::ppi::module::PassiveSocketSink \a udpSink. The senf::ppi::module::PriorityJoin ensures that read requests of the RateStuffer's input are always serviced, either from the \a queue or, if the \a queue output is throttled, from the \a generator. @@ -137,11 +146,11 @@ \until rateFilter First the needed modules are declared. We have - \li the \a barrier to discard incoming packets sent to fast - \li the \a queue to receive incoming packets and create throttling notifications - \li the \a generator to create the stuffing packets - \li the \a join to combine the input stream from the \a queue with the stuffing packet stream - \li the \a rateFilter to generate the fixed rate output stream + - the \a barrier to discard incoming packets sent to fast + - the \a queue to receive incoming packets and create throttling notifications + - the \a generator to create the stuffing packets + - the \a join to combine the input stream from the \a queue with the stuffing packet stream + - the \a rateFilter to generate the fixed rate output stream \until output @@ -172,15 +181,15 @@ The \a inputSocket is listening on port 44344 while the \a outputSocket will send packets to port 44345 on localhost. The \a outputSocket uses the senf::ConnectedUDPv4SocketProtocol which - is compatible with the senf::ppi::module::PassiveSocketWriter module. + is compatible with the senf::ppi::module::PassiveSocketSink module. \until udpSink Here we allocate the components: - \li \a udpReader to read the packets from \a inputSocket - \li \a stuffer for the real work and - \li \a udpWriter to send the packets to \a outputSocket + - \a udpSource to read the packets from \a inputSocket + - \a stuffer for the real work and + - \a udpSink to send the packets to \a outputSocket \until udpSink diff --git a/Examples/RateStuffer/ratestuffer.dia b/Examples/RateStuffer/ratestuffer.dia index 1abf80351a38b97f045047425934e7da531a9461..adfa69caf7941eba35e75416aa5c71a4070008f1 100644 GIT binary patch literal 2601 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 literal 2452 zcmZw5cQ_Od1Hf_n%7}!{%7wB=vVKU$ud}Jlv&UI+N7ixXQO4aFan2|tWM^crGrG)3 zWt4qqZ`tJhp67kuzkcug{p<651u$2r{uAw%-Bi+416TNnC2+VrZalH&M~+xF718sR z;Dam<z$!*_s;&}@4--b-jaX~Us9VAa590rR!VNv5O2cl!q~U1WU$(CcBmS&yh_5~v zRo*Mu?Whu}oGVz6&pursbzH8jIBZW-Ojvy)-kdH1D6R4RWxa&!cS&R6k^PfraSOYr zr`+^YFRDesD1zoyeu{Q<6m#=v_2usS2~`<KF!1_L(GL4(=g3;8x|^w-?K>uY2ZMr1 ziVGElM*Xe#PuPg<BJ9)0bHj*-7f#kgvZll7wG&WHk$ZO>1~B6%$twzCNF#DsO?e>h zWcmecf<7(P?-RjYvDCafv76X4l~>t#E?(sGW}wAv^eJ0|;9fT?M!5|Z9j*=RQ(%r! zVmPuj@t4$jSf>}>q}S-H+35Sc(KkZQUgsVrVFaC$Cdw#!^|(ZG_Up28KaQ>qW9M(s zjcFdS3MioXvkRN^O%lTSV1YW@f=BKX0Ql#3g*f-f&v<gxM7DwUJEk`mt4$%a+j|Z5 zyYdN4M~fm9;kOxT2igsQPrr#iQ)23o^a$q2vleLb&kPGBQ&uyFsqH0K?c~Y*?CDiB z<aKH)zVzp=Mfu8Bnc@(oa+)O^a6LsT@jGcQ2foyPKvP^1FwQu-=%eCV8X8HV<Rd1| zJFliwx(Gu)6Bnid-7YsGgXS(vTwjasaLA<Ghvp}akJbo56#XQ>^LzBk`_7&Uw&PHS zcSEq5p<3OKG?JAYdY^9xykJrDyVp%Bf`h($#v9PK@R$@ROM=<ARGMgiy)qo_r|rs= z_G{Z0(4q0tyC9~f$E>LgIEJwBla&-yxOxIjJ-Wj9N<6=SmLu5AqWZu!halj^07vL6 zS)T8@*g>`K+dSdZhFSyC;KINtzuP_xq#I5LuVBmmJeIvb3C$w-4a0qPke(mPIlvQL zlcLl_?s+Umu<9ey5c!>Mto<>$QM$ybS5=mR#vE)aD{-cxvshnY-5e)ccHJ5%fA?1y z1K?_ck-2i03F_eQGPruWffy7g3xxY!z$vtwVDO$k%F7gGo!9`Wa>*7ZlK}~SCGjQ) zSIO9S%<F72mI30boZd7)atu7<Ok?-?(gMv9*^N`zUJjkc^P6N8YLtoS!-5gUHlA%v z?le5o=r_N37=$p7EEqiwqxpp74ym)wf(^4+oj9s=Wpi~NNptNSE<=|9Q|A<M#sa9( z`><tPb!F!By|-=-pF(d*oyo&vBj?xdD)`RWa&FH)>e?g=?_SOYgjE(ewxUUg-|`g8 zo^)tEP0vEhKK&EYDt>hV=U+kG`}QY}!31||TI<E#FY%*EWqWD8uii*sP@(*3MS_{s zFnHw4+sE2)W2KM3)(U2ByEAwps(&USLiOjKJ+!1p%%UXZi*j<>gM+k13}{>1gqtAr zI^=gq<b47Tvr@of<71_VUqf$N2RRHGTj<}F6qur4vUK+6tXC)`E$Z@*ORFEz=D}pT zMtwi(uhgy7`h;gP?bo2!vKYRIFzhO4fiqO~T$(U)K}OWe@|wWe_&*k2>Qtp=t0#{m zQjJ9WN^D{)T3+%O@&-GC?DAWPn({hP9>GwT+gYsMg%V?p&<o`AGyGV`8=`hK%a+E# zS<JCrgx86WgfGY$6;Ch76>s$~j3XqRPn|M&EL2QS73f%)<R!;=#*am5ifONyIRZ7` z(jeZ`yp}5Mye3zJ<jySMGjq)872z-G{BnUzALP3!&*5@s-8qYV4q{vr$~!RD<YDjx z7CNQG{vZ6J@nkBjoDhdWYQN#PK;d75@5AocVYEFmU95r^9ib$YM6uEgu6{8L8DhY@ zuM}7uZnWVui?ovr#9oLl*B#sN`o48X<<cX$Rw4hw_;LG>CmX>8X~{r3g$-56dK2$M z6|4a8p=<;wk4ESUm~GLN@svaIwaIhu7yN3S`m9(sP%PExZeM*0k@^7<0PZ_8zf(>E zO+0gn{atwtJ6{k@Apt7VXdgeU2QVaX=oV@S(zA=D=%W5+6n+YNMf2Y^jHTiSnn`{| zElfKCH9)ikY3@lp9%Z-JDL$i>tIwSobA|b4vMm6@H)38%W6)v_gFW~RlSD-7B@@pa zHW3Ak#gLv0{~Bv8`ViovQ%aoXEr$O=tk6r%S(=ay*8!Vk?2G&CBS=I$;SbRPx`&FJ zbl1wrWwc8=7%jQ`4S?YKhEu2T3k}NIp$d|#Usm@zSUIymwZCRc^{R@jw*+;eCxj|( z9%*Y!PPVy;O&>mk_<56C@?+F`rGVq`y7;&OqUiRg2iE!Q#Ulq2dG)*P*2m*47?MX1 z$FQfTGH;r4Qtlw{psX-PI_oG8AY{cwinX@kcH((?TVO2uG1J1(LfUNVM++4v*XzY1 z#-_z4JLmTKBDN<VB2GSJUDUp=a?c0D*vlotWm&<?@WjT--yXNH*qJgoR)_S1Z*N{x z=T5Qx@Ac^PMCSGu?#rFBEahvWF8l1BCiLM7H)T-m){Zhl1{y8)aUB&t{r2_-n?+vF zXnSx3?|`>5*Gdqb4u25_N=s|={nNVm=4Ixqj86w~@g05#MP50-Z^otBb#?*HIyFBG zEb)e30VMPB{^Sax%l*a;8!e4hJpU5KQW4c0)vV(9LG3&<u!Jdcunz-BNFBPPNXJV` zF}K;e2K511JWI4ycj2hTTZO()ZIx~g>_Xo!W&0$ay|!$`xbJH&v7+ME5;W`?W~UKJ zduuCGr)G$G++wI8Z_P3&L6Zf-a3~2aPImC;@LT1^Ch7EAB28~`N~FMx(Ef@=8;0b~ zKC_G;LsE>T)v|?6&R}T(M0a(<PGFQyeu}yr(e3uv`sTYjeWvd`u1U0!*YQO?2HOhH z(wa<K#nb1g;rvt5gfxweh?B+JfyGQqdakMIWS}ZvjEUYo@CS{V2k}pr@X=h;p)Br$ zhQadlh}xI)`*KM@rqxzFo6|X!w?NbuZFM+R18e6I^`tu06u|LcQ`w#&DFa1KckW}q zMd7tOqyC^(q7bC2YFqSMw)gpws_xMBpp*_9MY#A(r2o&4OtFf!d{gDF!DHA~_xXx3 vFGv#|_pwhKnTXSC=B*VwzSxNJ_WZN!b{Tys?Oclt-j{*T{N=0NLq+uuYC)@u -- GitLab