From 3eea1fd19d949c5a51e1c69d89eb5d6669fb2b4e Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Tue, 19 Sep 2023 16:47:12 +0000 Subject: [PATCH] Promote NIMS package version and update Sphinx generated files in _docs --- .../_channelpool/index.doctree | Bin 0 -> 14777 bytes .../parameter/_message/index.doctree | Bin 0 -> 4741 bytes .../parameter/_serializer_types/index.doctree | Bin 0 -> 14455 bytes .../serialization_strategy/index.doctree | Bin 82620 -> 84738 bytes .../ni_measurementlink_service/index.doctree | Bin 92081 -> 96906 bytes .../measurement/info/index.doctree | Bin 57713 -> 62812 bytes .../measurement/service/index.doctree | Bin 72221 -> 61921 bytes .../session_management/index.doctree | Bin 143561 -> 146572 bytes docs/.doctrees/environment.pickle | Bin 1182081 -> 1227597 bytes docs/_modules/index.html | 3 +- .../_channelpool.html | 183 +++++++++ .../_datatypeinfo.html | 2 +- .../_internal/discovery_client.html | 2 +- .../_internal/grpc_servicer.html | 18 +- .../_internal/parameter/metadata.html | 14 +- .../parameter/serialization_strategy.html | 384 +++++++++--------- .../_internal/parameter/serializer.html | 29 +- .../_internal/service_manager.html | 47 ++- .../v1/discovery_service_pb2_grpc.html | 2 +- .../v1/measurement_service_pb2_grpc.html | 2 +- .../v2/measurement_service_pb2_grpc.html | 2 +- .../pinmap/v1/pin_map_service_pb2_grpc.html | 2 +- .../session_management_service_pb2_grpc.html | 2 +- .../_internal/stubs/session_pb2_grpc.html | 2 +- .../ni_measurementlink_service/_loggers.html | 36 +- .../_tracelogging.html | 2 +- .../measurement/info.html | 74 ++-- .../measurement/service.html | 84 +--- .../session_management.html | 43 +- .../_channelpool/index.rst.txt | 51 +++ .../parameter/_message/index.rst.txt | 16 + .../parameter/_serializer_types/index.rst.txt | 56 +++ .../serialization_strategy/index.rst.txt | 89 ++-- .../ni_measurementlink_service/index.rst.txt | 66 ++- .../measurement/info/index.rst.txt | 68 ++-- .../measurement/service/index.rst.txt | 31 -- .../session_management/index.rst.txt | 10 +- docs/autoapi/index.html | 2 +- .../_channelpool/index.html | 157 +++++++ .../_datatypeinfo/index.html | 2 +- .../_internal/discovery_client/index.html | 2 +- .../_internal/grpc_servicer/index.html | 2 +- .../_internal/index.html | 2 +- .../_internal/parameter/_message/index.html | 116 ++++++ .../parameter/_serializer_types/index.html | 156 +++++++ .../_internal/parameter/index.html | 2 +- .../_internal/parameter/metadata/index.html | 2 +- .../serialization_strategy/index.html | 150 +++---- .../_internal/parameter/serializer/index.html | 2 +- .../_internal/service_manager/index.html | 2 +- .../_internal/stubs/index.html | 2 +- .../_internal/stubs/ni/index.html | 2 +- .../ni/measurementlink/discovery/index.html | 2 +- .../v1/discovery_service_pb2/index.html | 2 +- .../v1/discovery_service_pb2_grpc/index.html | 2 +- .../measurementlink/discovery/v1/index.html | 2 +- .../stubs/ni/measurementlink/index.html | 2 +- .../ni/measurementlink/measurement/index.html | 2 +- .../measurementlink/measurement/v1/index.html | 2 +- .../v1/measurement_service_pb2/index.html | 2 +- .../measurement_service_pb2_grpc/index.html | 2 +- .../measurementlink/measurement/v2/index.html | 2 +- .../v2/measurement_service_pb2/index.html | 2 +- .../measurement_service_pb2_grpc/index.html | 2 +- .../pin_map_context_pb2/index.html | 2 +- .../pin_map_context_pb2_grpc/index.html | 2 +- .../ni/measurementlink/pinmap/index.html | 2 +- .../ni/measurementlink/pinmap/v1/index.html | 2 +- .../pinmap/v1/pin_map_service_pb2/index.html | 2 +- .../v1/pin_map_service_pb2_grpc/index.html | 2 +- .../sessionmanagement/index.html | 2 +- .../sessionmanagement/v1/index.html | 2 +- .../session_management_service_pb2/index.html | 2 +- .../index.html | 2 +- .../_internal/stubs/ni/protobuf/index.html | 2 +- .../stubs/ni/protobuf/types/index.html | 2 +- .../ni/protobuf/types/xydata_pb2/index.html | 2 +- .../protobuf/types/xydata_pb2_grpc/index.html | 2 +- .../_internal/stubs/session_pb2/index.html | 2 +- .../stubs/session_pb2_grpc/index.html | 2 +- .../_internal/utilities/index.html | 2 +- .../_loggers/index.html | 2 +- .../_tracelogging/index.html | 2 +- .../ni_measurementlink_service/index.html | 153 ++++--- .../measurement/index.html | 2 +- .../measurement/info/index.html | 123 ++++-- .../measurement/service/index.html | 57 +-- .../session_management/index.html | 63 +-- docs/genindex.html | 136 +++++-- docs/index.html | 2 +- docs/objects.inv | Bin 4080 -> 4285 bytes docs/py-modindex.html | 17 +- docs/search.html | 2 +- docs/searchindex.js | 2 +- ni_measurementlink_generator/pyproject.toml | 2 +- pyproject.toml | 2 +- 96 files changed, 1655 insertions(+), 889 deletions(-) create mode 100644 docs/.doctrees/autoapi/ni_measurementlink_service/_channelpool/index.doctree create mode 100644 docs/.doctrees/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.doctree create mode 100644 docs/.doctrees/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.doctree create mode 100644 docs/_modules/ni_measurementlink_service/_channelpool.html create mode 100644 docs/_sources/autoapi/ni_measurementlink_service/_channelpool/index.rst.txt create mode 100644 docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.rst.txt create mode 100644 docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.rst.txt create mode 100644 docs/autoapi/ni_measurementlink_service/_channelpool/index.html create mode 100644 docs/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.html create mode 100644 docs/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.html diff --git a/docs/.doctrees/autoapi/ni_measurementlink_service/_channelpool/index.doctree b/docs/.doctrees/autoapi/ni_measurementlink_service/_channelpool/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a23cae607ae8cf9d3cdaf2436c942d56469fa865 GIT binary patch literal 14777 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 H-|D{s3}Ti0 literal 0 HcmV?d00001 diff --git a/docs/.doctrees/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.doctree b/docs/.doctrees/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..f78e40ac17c6226856ba497f74c530a31a87619a GIT binary patch literal 4741 zcmb_gTaO$$6`o|KZ*%LJ2>}F&G%wjqwCe5^S|AJ(2(9)d(T>Ct@wTdQSGn8H)Qz$$ z=|Ng4AQsY!5f5v41;o$biC+LeV5NOoY5xY_v8$>tVFH?^rIy;q_VMxYcfNB@zi9pO zmq#1!WBMu=GMx=s6s1|jl{MWc3(JJ3+J0&u{K|f8PfV|1&sA0yA-84&D?%aTsNkvn z$eMjxu4Sx-)&7p+p_WSnMW^Sf3=+;%S#UZ% zmgz;Hc=1ezd>F`7^CD&OFlPlzI0i#3R*Fsexh3Ud!|difjbu6vW(A)t9U*SH1wGS= zB{s77Kh14D;WN6i`TjM{u%B4(tTs#}?}>1DNRSS zDNR}NEpbnL14oJnI7hq8O!D9YF~_+CmA(QGOC|s zB-4n`EO0{#6DCtD-Z34F^kohVZPEqI4#s?z$1;@K&fWBLR;2jZ^N=Wklrz)Cz&QiI zNug%Nl3u}Ii z2ZHy1cziVg-WZeC{K#t$5${{f~ZbD-adnZQg%!d?M3h@2%^) z`++q-xTd3rPwc9ztNT^1-Y{E83gI$iR$RUT=EqE+B=|*xw3pVH8_?<)AFS+FQF{&Lb}AZbeM9byw7x z?VqLtU%AXC{)O@h&rlCKY3Av8Zg#7m#I~2nas4!_OjebM4EnWu?0aG??)wN_m}B}C zrPkZ5dozMzJ$1Y^RV8&&x{X^dCkoKkLhXq-H{VU=U_JF!rPrXYyar90$5K~#!5>ux zas8r+)x}3`=jKwVAfa8&$4xmU9?{+#WLOKzBKzX%}X8dG|Z^vMy!^4GI%&}^l@i(GT=p#6@g%B6mt|8Z88CChdWD~F?JR+k2TtAUBIa9nTyJ?w2NvMNoQb`Zdeh^8; z#xY%_va(YLgm`3jaT$dWV6H&}YN}!rnB?p93x^>5X$@YOv_*LG9W;T>5D-12 zr~-1*DS#Nu1V#J@2lvf>&hvmOd&FYs9EQFu2i{>j1&8^j&^lMAqY=bv=qv1DR!m3M z+@_Vz0IUo&Pw+h2WmKLI?!EIa{JCFD!Zr0IS*U-jR!@{oki9^!D7l`vGZ6M8p_3Sg z^)wqJiXtuSp5(BE}c^-HJ1U{;o=pwSr%ih-(E$ z-Ew0;4B{+gm22;Y0?liP7SzWZyzE?v-4|t!lt8Vt>yIlQm;*goDANfrP!q!uQH3hU zYwKh};EglpqmdfS3k%F7V;&)dFJXe<=$hu{c8FCM0Y_IB2Pn%>t5BQy(i~QOJHQ%G zJgv>mCQqMHqiVXIP7uFV7v*a2imreR!01js3o P%63FdT9J;g+lK!Jj1x#* literal 0 HcmV?d00001 diff --git a/docs/.doctrees/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.doctree b/docs/.doctrees/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.doctree new file mode 100644 index 0000000000000000000000000000000000000000..16e52307fd7701b3f566d2f6c043f7dd3d6b17e6 GIT binary patch literal 14455 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 literal 82620 zcmeI53y>VenV|I?X-2P+1eo9zy{v_Xhi0%~3Ex=e3`4mRa1@>kdGYT2z$ z7iSyxl+vKHkrWv8S5#aOV^zYAExX8`#qs-R=hCUphdNY|1JHfctaFqXw_R@)f0u)oem0=+s|E#^*1o@9+2n_5E8w zl^xq(UIi_Y!Yj+|y8JR}mG*!>@JQQV(XyuTP{%pK+2p(hnsknbcAOJIfm`7JR``D^ z{67ua9DrKT;f{Zy)o#_Sx;qxFnK5CmF=4K;aC42h)v`U?0S`m*GnQNJI4Aon;9F~d z9lUKR4#!^w-|g9Y#Vxt5&H-|GpVg>Ba*#St8+>ZQUkP7`Y9NgQTUKM*Zslggw)1x9 zP-nA$*O*hAvBw(iYSnIx?W;BRj2V8rrM|!A)T&Y0X!&N5T70Yz>Ktt}!No>)EC#Et zkFzR{XdM(+ zw5z0;*&Y9nsk|-uh;s%eS{(~jaDi08gfjwD4?s1Do;%&J>W;z(|1B4)&?#KVpfgIL zQ;0s!000e@sjg{5(Gw2)HOWk}lJ^gKwu&N|8)U>8<{AFFokZP*vuXg#YOBdR708#J zX?Ncl^pl3-Cu`z6v*IkqC_>wUFTTshKb)@d>y*ZaiIWbutjTu8Y7|SgO0ikDONy!J zDJR-rmyz=R@D-Q7|83X2f9o~;ZwD3Mfw8jY{IAZ3**?DY)bVXdl4g5m#%k<89i~6{ zv40plyTjRRR5{%7*DK$Opho?ie9RF1BW^U?8XDqWUMQhsfh6i!crrICGNljt1Fh*s ztz8e;14DonV6BwKS_xJ5x#gDA*)fFn`3l(QK5&8ix$h@gTM=-XDgehYSu5`kbQJoz zv{Bm^$R{xjqAsLLiTB2z#F(Zw>5X5-lvvo73$sRH9f(7>G3#G4o``|IvR63pbp*_}DKU zTC!*n1`+2}YF6v)Y6&haH1PZOS{q^wCF4C+_3*{|*E4Iiic%KlFf8bm3?luEM#I{# zWYQ+gTo7z#VPj?^QEPC3hX0FhdB2>|q$fc3PLGB$aTDw>OKGIV-$Kye- zPJr8!3?34484sHs`+GAZ`b1L^VVLUrdBuOK%&;JE&m6XHgoEBK$U?mKR`6G={gh#$ zcdNi<*z&il$k6K$J4c_0BZ5QkPN)ko=iQG!L9SJKA5AbVR)J8@yOA~=ISCV1gS6#M-uF^97e5k+ z(!A?ww^G2ODyFM;Ud)RYn$R#@%*<)~CNQ1{eKBCH(YmS-;{_~3E>8ANjGrgiIf@v+ zhI+ja=CJtf^iizupz+_B(kT#qZ6W>bJT>MC~VnVsdmRBI5h>XXCQm`*= zo0xbSEzU5Zw5?#`87z?z6Hg^rHwqIkK)p8*6RJWM1}2^)hR`vAd8&cqCl_MkRjffV z@k1go8557uhO=T~_0sN^8??Fjk@SWMd4)o|_@38f)r5wjLSCWJiuS2}6Bj3g{`nOO zt$hU;Td_<=V2mc%ISLrtpk6P)$mt4&u9Ag;j1!0{bYx(jYU22bhRB$}8Wb6uiNIuJ zyp=Yb6&Y8iYA${xy&+?-SOk!3-sGN9&dZR1;4pNw-;jQo2)PzLfkqtb1Kn0I@@H5s zBSt=$VEZVHd<^RKf|2*-vpfl^WnrM?1H>FUN-$3~bNmEEl-z+eC`$GdfypS@OB>FL zlKWCM7eA8TP%7&d}!K zN75Tm8e$s5wb6di#1I>Xl0TjEK9~?W4(z}nvd-wRLXZ(Gm60HCO|WBV>{NM_&AyfOvc9%wBfAyxF}U~@gwOCA1yI;@sfH! z_+iQo14#1?=!J=pS@Z%LhYXv2Rv2W61SUhILL1Hskz!M?vHtpxzq@k$_ef21LF`tf4~$^HeLxPd$Xl z^H_sIuGm5qV{VUWD%lMuL*VKq9Y<1k2}zlAz=uOpaPE zV6q`tUct#RSTG|_jsO{P&jCi^WCZHIu^-@j7oxuqmXem)awNqdA_&8HL@^Z;Sfvcu)sXk!tqlKVc}y93JaSEOoqiI zZ8$3|Zco)*{78C(g?uW6UTe>JzG_0la3P-x(Te6pD@|xH()cb~o&tltx5DR#e3keC zER&HK-$}4@6fqu!dc6=Mr>8Y%LP)qiwbu+%$Fd%TTT5Vm4FAl*X z8EG*LGJ08(90T=wp+!#dg{F~(5nrq(me65=d8&ourx?QGWUN79F-Qa^!(xCooD~-D zO4VHaNP2^Xj4$vidhWE)gofcl#ur-Aym+Ar4aOH`v^Mq1pTVB#oRJOK52p+$c2 zg|Np0S&ZCAETO{!^HdARPcekW6Ig@7;vOO}85Rd=!&zbR(^SpHkEAzP=<$W{kG$q9 zo}q-$FkI;Ig(%vm_Dx`{Tp@t5M(e6Vj3F$Okr)FYqn8!QAyBUuV&oWK2$L)jWGo@3 z(2;?8s)^$#8Y1I3tU;0S`!473tN9?~G}8ZMLeb{pN75TIkr?JH}e-KfxF3hMO&ikx1nR~51_mLV4r zL+F^mymXkD#Tpb77Z8EEPpCf?ifY4O^qQazXN@dwNYz|FFd-ugdapfaP-sHKP$44= zt!Q4b(1ZqY@ddOzyKh%JQoFWTdB?|)?pCzWyk%4)t ziQ^|4Mivia4T_9U6M@OdxPvyF6&e4Ss=4@)^cGo!y)T5Nu?G2X+x zbSOCr9fP9eHwpIT(Z`Fl;jAb*30jU@@9NF<110jQP`l%*tIkTNMoE0elB~^3rBgq<@ko&Ox;7LGm7*1qt5-6S* zO#*_0Fu4;wfyE|);!13C7naM&k~QUV&{2YUs+r>_ zAfn{ESc9VEzY~GUD7l3;oE0TMNYz~YNP0twj7{hb{C=<`C^-x!GByd8&xX>rFU?P7g$Sj=~N=&)IMa~Q81r#L1W@!Z@|AxgfV&wS* zvqxd%C8*a6MsoV0pnz5u21I^Jtf4~$^HeLxPd$Xl${_)fA19cXFL0iw4QGYO;m~q7 z3mn>9{78C(h>S|;g9H7*NKkSZNMuwJET0!jf|7$U*@oW0qLN^F1t+It!HhT=PjG-J zoSX~wdcjFfQAvni76wpGBlggNf_bW)+YSZ1v#}IB><1fwE4y8L4rG&U zz@1(C7Q2yq!}}}jDr^I7H#@sKBmO`WHiWLgHse>4M_l;N%#XO$!c48)uGocKe$4Oq zj-S)(C~7x5&cH;gW1(6u(9}Y=x^x!#%gT1M)VaB%>t+Owti>b6raN7=TJ46dlrc8n zMOi~7+h7a#MgAbsmZ2)|D_E4Cexi0b{=SeFx?ick5<5$Kx)R$+ z>g3-d?b*%&e>F=YWA?-Mb=4XhL6c?Sun)3v@=3dyP1v3o=6x3XRHP4K^bue=J;SQ? zGl5{<-7qwRUEY04o^R~?OJL=FO)ZfZPuRT8OPs{hA**8X1`1mpY8StLPLO1~LCo~_^AMSWR@uuwQ3le_zJbS(ti7q+W&80q-^P`8s~~2@6-iMdLm)A^%-y<3pNcAgDY1 z&PN(t!Ccm1=LCIqF_MM`mkLpY2IrVGxD1a|8mL;6DDZ@U%qR%1>$`N#ff*Y~F1O*?#6hQ$=%@qoE;|-)fvLL6I z;*?%yjt;b)eCHz#?qXh>0}bvFq6iIkm^8Q(k5d|GYLhtlvXGD&2f@zB$>iMz?WD#5 zcAw(_(;NqwHgK>5aPSw9oe2kA0K);OQ;wh;96W~oB{+B-Qv?SjHD@@$+Xiob94Nia zjsr~?`1;5^TPpk;^V%G6@VpR3aB#kfgBS2P!-1+ciG!Dggv>Yyc1BJn?G0eg@f@aKHsH9Dq9I2)e<+5vw^4j>Htf0ZGjj4vO@$e;QfVOw8rYG%JRag(w1ri%lqO#p4tThT`YkT0vHxRp>hP>U||ybOQM7lrU({DYOb(Ql5hU@5e+%L zI}+$?W;`fw5VPTv+Z6LHZukK6;~e6KSs{ub;xZEvSL1Pth!EvTOx!5sWX43WOLCHV zO=u@ICU6iO6PV_hz_fvh%K#H?$j*cbE`VVIlqyHi4JHm^e+ee;#uUK>NzD}|%E~LC zedI(=PdEfSn;8`9yTS9B6yIa6oC7JoD?|}e6ire*fX68*!n7w*@t6>l85O}k$%*ED z8`?>Y3LFJT1*SPFFm0fs2&njP{kJQi#cnh+vQ8 z1oL)4JE;+YW8jFuG)Dxc4Mezrh@Fs~2@zZXLj>qlj-VSvT#NlBh`0_@1Q8@PXNbV- z(enfmW>>Q#A}Dbl1`)S2C(Z#8w+c}N5mgfrpTgq|5dqyvL>v@iG9x0`BRRpmo1vZ5 zh`=#$L|~dD0@DT}s(^@3LUtxZZ~+Vvpi?=5ZV>S>_Lm^y5lj(8kkniuqO82c(8qN~ zPS+!Xoz0AiupMmYV=VDg=E^yM;u#@|fTC%F;#oXSK@p}siHaA6pvfJ}LKFeRtOTwhnC3{pw1I?KK*A=-&V&RmfFS|&DM!!^5-!93lIY=bOc5lI)LbEfy-U$Y zCgk)i1ig`w7Zi-WXy+ppTFiHIph8`UB2>7>q(TFaQz{sWlUTS`$jFR^V0YxC^7cSG zsj+|q;8?&k#{#AeEL;Ovn1Sp}Sl|K}7C@nL1l?faPV6ti!lyAsus~9Cg@r5O%B0*% z^35A5sNKxGkkEIWosUfTE9SU4FyR|Q6k)=(CKJAe$62JHSwSMWpJ`%NT9rfKDsIW+gB2>8Eq{0$B&LRcf4iXC+gpABs2zEzK zD(@ATC#kW31K?P|G{*v_4J=#_Sa>Zf7PtV01yHCQK{r^~iv1;6I0aJ#3nVpHSind@ z>;PDJQ%4G-o0*}2k%A%(9Dcq%+VIEVEje9NI9G@wOz=%6oQKC{q#*Ssk#Lz1kr@fW z-pC2%odxZrMgsPqBLUMK379sJ-~$rQhU`p{0vEuL0Q!_8=mrT_V}A(}-j6AQ1d^I7 zB#=l!n7JQJ$T3n7{mcvnV}IEBxPIs`-_0RX_=FHesPN||6>h@gN~9p|AhB?#kdYY+ z!S2XO<$VO&NsR>@0LKERITkQ&VByaJ3m=8-OjzIo7#2XGas=IA;Q{O~!NP->B3K}) zxx&J3yd~Yo3ynFwl&$nKGZM6YVCN$co?>2`0}!4Rq6iRfF@f-pc$@-3Q=7!W3qnF> z90WTfCzJO$w38YK*nN%zOmiGy+Q7jrfP)`Gb|xHf0SpJAPC0^Za4Mj6pqE?EK1N7C$X?q$jFR^ zV0YxC@{WXdQey!Jz_Ea7js;8`Shx+aa5Q9R!U7k-umB2`Bj^STyRg3`O1KbH1PdfJ zS6EQq!t5g&a(@dmFFYtO5(<&?5D^vT$2r6eju1r=Rk`4geXFa&zPk6G9IU-2-BWK z#REc6W>f_GBqy48H?)%)6*vlx3QTiUVA?>%X8;xVKz1fnZ~+VzpjA17ZcySV3*`1^Zp(BlNu8^2#yI%b4*~`z{Eko#BU%w6DGI-h6zxr z96>jjI02MNF>xZM2qs8st}s!i_pAHOiJT&eU}rOfVndkBc}R-w3DYvgk4(Qyh$5u8 z*CfT6c$`HPA=;Cu*d+vIjwphCk`v8)2egwK6*vlx3QTiUVA?>%y?}~$LUtxpZ~+Vz zpjA17Zcx#{{*s8Ii7A2#lA0@2U__yBX4j9KocTo*dS5ex0wW4jcBFH70Nn921!4n837wiTeQ)AA;;m znBW2!CP1lj1l?fbTi9QMiEm?yV1lIP3KJxv&~4ohPUIL-=$*|B3KCJ6GUp*Fo?xz= z11WwWL=jSa(bnLbNAQ(GY?%qaxTRInlh!p`FyIz)^5iV49-> z(*`OY1XS#X>`bWO0vIYlt8xV0pyDR%FG0o4m?EekskuVMrDx$zg0ro{2-&x=;8t_n z+H+?h*c4@`@HT01o#XX>4NBoV=y5m-7N5N@F_qz7JQmqX8_pal~ zqE#(9wT9wf2^)s`gAIGCWi_VlR>z+x(hW|VW6^VZtmpzs8da+@278>sZn*GetZ6q~ ztKwcwCRnlAYFI6M8a5YQ4#M4X$3u-N8-63A{{_{w$&*8*W|Lg?J`E*OpBb}U$w=d(8Ch;)V}8>xJb0(};%vl2Sz zzz*AF_B{+e`@QH{Z<{;QjZyc2U5j=Vy`(X6d|@QouA{=Pqr$GE;dUM6CzB=;wNwBf zaB5}P<@rx?6+f!<-8e09<#4qoKOA$UB5VYAuRW>Iu;wA2nh}f0d#`?)_Sx z^!qb}sBjvmfMBp!a6a8YPSV0rD{fQWB-vl9TbLSHoQ6d;1(W_VvZXP>`XagwHtr8z zBs(_CEyUGg1@=XbdUx!o{l(SbIs0;~vdMcN{Ao|>23F~yZ+Lq#t#kpYO~3qJ|U;RH^CM-hGF?Μ6im*ubg$ssp&mOA`XWftXYloO`(XdjkdBTV z-!aaXkAm8dLG4FvBdVS)-}i32RcJYO;lh$tu^I*bE0ncH;S$(Z9scl~DM(|%X5B8i zQ?6Yu;5;l$T1`mSsshr5NqALEoOAmoU(SQO*;x50CVFnFXYRiTEqzXC$yvqcCH2S= zXP9UB%g$&_!v^s*jHF*=UM5 zs!-5sp~V_D?)Tm-xJKQA+mr?c!^4tnbcn%OhFaUQ^p0yZn-FP<9|*mMoyb&Bsc!H% zSmaTt309Ef+L^1~_&{@(Do6fwPb2@K7VY}f0x21KZAk|@5kHN6b(Fuhcj z>KHyGE zLVTA>7)zxD^of&14dN3|nLaUomQ|@(lNI~&%VBxF`=kQ@zI&XVL-`34ut`s$EQ6gB z1!lbej7`zgN*1Ydv}cIEr$OL9!KmK}HB*=zt8hhWCSTEDCedxKWJeqQDPi<@ApLv@ z)Fwk51`}8V>D5O3C3U#4F+kV69b5Hy?{^@>vtiKmTJIF5$hBUQO1jod7PV~S`^;

JjsdMgs3o1jCd*5{2{$MUp<9}uJ84Quw2jUi(r`#3t;+1 z4&h6&Lx^4c-b1vnn=4xTYz6;$Qc3T)T$Cfl_0H?ZB3AI8l} z{N`T4bAJzC!OP(UR`7d4r(IvhR#x!;59&p%;CWv{SMcm$a0UNkIK9m>-+*cU9Gt9p zOv;z1B8u?M74~*|J}HRsqrh|WS;2E@ndQsL{5l(Jx)uCSK})X)EyXPzVps6%4owp$ zV~Ds~)F32&&I}R%W6>UeT|&9q{s%&pVP_(hO}K{ScU_(bBODDi=kua{tf!H`AVwZd zabtOg%HkfY1|9xVxBNDJ&F=jcPTiKHgy?*Ju^{_75u(RUH@-AyYa9Mm&i9?E#*S0& zJW+#8xnG!5ZeFj{i(+tTCc!U3Etf;h6w5ZO!Zm5S!dAl-P5`pTxxz2Has{y@XTBi5 zOJ}$y)#%X~t`;?jGyKYQhUCR`;2g#>0!#FdVpH8N(W9lx(SBU?J&mnjgi(J4YNoI? zR^f^=ZGDPi>&p^s{VQSXcA6j_;*)LgC1>v#hd z7ox?oJ!Q2kt^VJVzcT+@^6CIGuh9zumCXG@{ZV7~bhS`_!l}3n}heUe>PcH$U)Q6J%VN;R(dT;Q6*JFneyJUZv*g-d3 zv>n)z{UuT<=Oz1LhsCWHVh6DSs>T6acP4ERIzOXF&X(*U7Jkz$*$-FmWow`cU$@IK z(Fq_`;ynn4?q%J+4Ga=ow+Ck-U%Vd?)#cy{{v|m3{x$P=nE&xB_(S1s1E<53f zJLnNdB^q|bx}@qX>Kf{I(8F_C&G;K{v8(4RQZSA{CW zP6|<$e+`V_LCyKRdj3F9Bmcb^xul1B&zh}#)mz@EEbg&tB!H{uQ}r-9?2b2|VJsAW zRRq#;>u0e@ie5C`mTLSs?QRt{aN6x$0(aZ>o824FsO}$!YlS4-E$qdoO9IQGyHN;T z4uuw%P`XDnm%=r7E?o>g{XA5SJ5TD@H)tI`I@3gdWSA)YMx<^f(2X!tyq~c34hKCm zG6Z~jwdD2A|A8UX_0D6MBI_NJO0(Y48#QLX$NI`2qh@`Dw+HlUtgp+-OBP`_P5)VR z^%>Dsl1l381l-Qz7kFix{*cvbHQdQ|3m)wdH;s+lQ{h2Fc~Qz~(5D{B>Ej4>0RB4q zRQ#3_zC#1gH7OF=A^K1_J!FVot%zNtiXCyT^0!yrEi<;&Y&Yx~kX&)Ad$zzc*L&TP zy@fw!zePN*iihN5_FKeb_BN-De|9dbJs6)ch^5LPmc-2>f1p`wH%fNLIS<2v#s1n- zy8(~lw2CZ$!e7mEV6=8;!e806TP?Q=Px|=l%e7LwF<7?|C z{K09vYQy9B@S+2JDZ@kD@WAy<9lorh%@k3S@O6lNZ8s|LZB46IDo$FZJ$MwJ?|9tb zFjcFy;87b}$=@I-yP$qOy_ zmzV9y_B2#qyU%J=K}+~@g>B71&LF&yP_l72og4hMZnfTKPx?ctjz8FLO>KGm7I=iY z;~%9TEZU7mtxvaHEn~&@%@%1cD3VgY`{IJMj5W1)a_~+ znsJF@2Vh!G!7xE1Zn+509!|Nla9P4%YqeXoqRjG_z?&%WWOsX}UKB0|iX|C*vZ1Bc zksQ!&wTb4JS@ovfF4u~)Gw4ji_H4b@w8dK!Sd4f{sa4$THeKqR>xyN!iO==GKv*wV z@TuUO=dXsrG{O1li)r9BtXOf%t-#=Rcl^UJ1&zSe$0x?%T@I9129vL9So_3RaMATR zpTKjf)8L2|cgAgXb`Ed$*VgTNQ9KYwJP~v70ox)@3;%GZ)v7ng$HpMLIa=Qj?{ZW} zYmMo#j(;eYBprZ~#g;t-=7A?k{gsfvWz)&0fo*%#q@cC{yOi@fvF#z`d+yQ^Mxxd=7W{ZwH?Ns1D z`0uhx4PAeAbH;*+MxJ_Yf}%E(@APXC9*DJ=YL6~C@K9?B-e02g4YW*D2(|aL>zxDO z8nsf(ZGrwN2M&Pu)Jkr33VeWrVFRK9_Wd@>xijdzm6}Co!ZN}m@R^xOy9`r!KXk#d z;gzcc{-Gr(wWny$SZ<|gmCNw#ECS;Oe?3Y@lQ-?k6b0G=f2m#F+nH!jl1KOP*+3-V zFg&>H!sLK!i{wQv;yCM}Q{Y-H;3>#}D$<>Jc?BpaS9m=a$Ga0-=4{tC>b z=@IXDcxHYHKYoQDzr>Fn_(;jQ`0+3J_2=-x0@evwaMK6%CVUYeO|<<%6p1TyY=87(s9FsDIA5_iksE1#E%{LaXxzAFIjU4^<6D&-e^seg zsnCfJ0TH~pLGy2h$>N;^{<>p%^Fy6oz+H$6f#5KIn?M?Dcm$@z+UEWyV47#kplLaq z8u9^;&D-1cidzDn7hK@F3u7qI301%uI$k&ypT0g;TrfH@sr<7ayd7&i`@z2$Rc^)K zjB_mVbs}Rq0k`5ed7pq9aUmx08OvYJ0;$F9AufN}dnV3#FGe#w0EP1bMwmOE!@2%3 z?1#K%&89s*Wbtu0qCW?tJZF7;(x{K6kdu1al2ilqMC%xux;M3^zL2CToKrzfd7p=R zA$t0Sq9=Yom+1-bjK}Kfgrrd)%O2sCiW*I-f{LQg{TiBjIJKt!CP`DsobEOCD@9ZM zZYa|f-ZqZa)Ev#bpQYB(vq?Ha26wNcR}~%cOI=JycyTsXM|0{;iw;jqsMnG-h3BZQ zHH8<=B%t^uC#ouPLCy9zh{XseJ2}&=64@jST;*0vm3A4!&S_ja43%-c#FiE`wi*5Z Dvb$>A~1i6}h5;4;^#!>64kt!XHP4(51qrRc8*;DDMt#Wv3=hZdTxEeim zwGLN#T~njO<*1Qd-lhhrMyhQrh=`aaH8guFq$w~kBI0t$G)Pq*Z==)zT)km}NZX^4 z1Hx+xFNca=m{zxCPOIC|aybOnZL_zPB=imSjk+AJdfA2O1sd}!q@yeyOKfdtlfBjd zb^Y0~WfNGh+^d<~vYMWaWXIp{ubc@ZaqQ~VF=P}gUhSk~qS*b?6zhnnE?wNc+#&89 z_f&Uo@pd+H#~3;@ip9#qQcIz)sT`~yTI6kPXuYR(Y3m)Wx$bPaG)mc$L+mWQAUnfM zps8GP_r_s;=CsO%QEcY}!`Qd?%}B0CV(vou2nB{JGaywIrSu;`QkBuylE}o~*SaM~ zlUHhRG<&?BatK=tVYc@7wsg%G9S>pA+al?0QEb7vfzib~fpnv)8aoo>V55sH)*`d6 zJ$DUGybl`X4?^Iw2JikN?%4SunP@ocr;}L4+PhR6vYYosv+D-MIJO}r5t)`|slf|t zNoSrXglV@L*|l-gz9>w)8~TEpcDK&7W&#G&ZW5+Fwr*1LQ6y$GZ5!ynMQ7UB95ii3 zQ$qtRaR-XbR{uUJS+i=;UT)A6szILzf*+|0`3<_otRWioJ7^RJ{T}bQLBEgE8+2sr z8qJ^=TAd`CIoD^B7ltd%iA8TlFjcRR~T7fKUA zHL*NP-MOU@F{!=9BJA1{sS`-^qeT@_N1=pMVBfE|vn9)|H>7}Jkf;bgR75xSBHS#h zz8a?x&|WulF83ZV$TTqM<~L6OJSO=4Xk}}UMMf9z1(C+8dTOCXyP=22B`$$>5ll<* zjtA4yXbh%qXCnoWu$Y1jwqr~rd+fn6iTC-(uknvxgX5hn<_{Cw${z|N^oeLzw{#%c zfw6@@_Pv*`tQ|ypFP}@ zyvN5wEVn0D_Q)c-Et=K7VW(TUA(F`^X5BD!&^DBJ2%?Wn;DSGw0f1ry-ka9EOn!U((VB7X)LOHHvM-rTe@)wjq1)$B{|p#8pSU3 ziXhwAKQ}sY-oE#Gvgz-H`}P6JZ&d9eIw~}sTCOntIRMA8jOb(Ku2P_uXTI8j*4oR*Xw{ANF$Yw+dPeKR(B|UmL`njHn&vk&}d^h-d7aigI#fb^U$<6I_)Xj6aG*c8fu&3Eo-6UaqBYI_?N2-RJ&|TLAf65`p z*LoH}H-fFpQRQg{pZMW1!cz<2D(Y3Ka<0GK3kc+xQtOcB&66s8jd>iVp$$eh)&VA~ zj&oE>AQUf1_bo~IU29S|MJs`#77eXf&B8|6}?2c)W~tF35|AX_vptXI{L0wNZ) z`Y`(=+*f?Et{%~7-vSh=5+!{KZy;lu^0q&f32_dNitErI9`aPc*6^K2Cv6okk zaE(NH?8F8PtlBpS>mZyX0&dXqLzwW3ZvNw(q0hju=D+JT&^}x(Vej=X3pES94Te~u zTGyY2O1rZM_hz$cebW;ULZ8S)f5bbUiT>D~mo>0nu}(a`{a$V9KJ;uBIl*3eHk+Oj zOZT`+S*?5z@uhoSEZwuv7j)^K^~;!@VJ2W$x<|F8>)LsPJtn5z(me#a9n+TXfH4@a zvu9o-;`BDD97>`ph;+BBQQaoOigCf(@m4f=>Tw+@rK5;_*yYa?>t7N8o){xa^Y=iQ zc#sjZtY&EIF|&QJlFWxu!sG>b$4y=Ubt07J+~kwlUw5t3O#Vn)Zo~v6%gb_8uuqEN z06I=(t9s!BHs!fH=?yUmpyXO+*?l8iUAsqSn8z86Ju*hc$#c8QlAD2|2`4`Q{YJ+G zO3%`p(B2w4`BBKL*%|(gyW}Ia=02KN7c;f;~evvs;l`%h*zh|j8P95|g;RWg)T zN!Lr&)%o*l>u!Uym;kpT4MjWb58(LMoJU&m2_uj2mdJ958>w+_wa3f0WZOc*Tf$k- zLkYe=j1MgA2uHr7SXx-*aMpVIYW13K;X5N7@Gsvn;WzbCMI#hc;^?Tz0p|f&ENQ*2 z8aQJDDkb6^2{L6vlh^IvZ(!u*)pf2)o`j)F@Km}W&4TTls?qjUE>Equ zkrQ@c7M|y+f`ciT;;Hd8dJCM~GVI*DlYKAf_2`5e7u5ngFGC3s$k$0FI?^H69o`ZO z6-iAiYxS4fkvg5U7%;R2{7&swz|%f)a-tO$l{irO6k;IG%61*j^vML8HM;IFTy=7o zuBm0~CH#I7b9KU4KE2C3>+z0EB}eH5S9OWiHMMMMr;E=J#2xF>301B@lZrZD@W9QL zlk{?@wUb*fwiWxvYz<*7neL&!>(yGAd) zMB9a&PlXuW{`bGZR^#gMwRrqmg3CJrsGV9}?er`#hK(Doj>o|4H|O#!#Rw#o+#lh7 zf8aTZvn5PqmDU!L--`LP3r-a1gHD_zCiN0d9BhS2&RA<;3=$q7#zcxS1qL>Ktjf}1 zBqRM!=#=k*i;2f+n4fFl0eBaLN3?;5h5yn*iy~uw>1(v-*vtxz7 zyTjz@EO0{g%rh1^2amA5^>D)I>+ANwDMLerd!eJk<(2Xw(@C{nPb2JqJ4&eI#EI>- zk{6QS6rNQ@3cMsHZqVr=vZK$C#ne{mlKwAh8bw3=%Yb#?39}f|Xu3baI6H)w zK>CwoWBn>P{WC%IAaetL3&Y2R@v)fQ!-~Iv`xrLnNT!xdzC+AT&yYJpdDP=;1InLj zhw?b)V*|<`6Tj4i_2DHl$^XLq_YFMu1?BOIfyYbySLZUxeb>6Gys(oAvNvgj9+5tR zZmy&T4{VGULGqY7Yg(zA8^n$jjs+TAzJ>Th?7@(Ox<}JCFgH8v>u!@8n(Cc-a6&6G zh;vRS^TrA;^~Ge)clg?cGVC2MF0xr-J+xd*UK6;4qI9jv>XH(_0_9{423#KlHhc+g z_CN$*S%SEu9hRw{3j(u#6ZkrEo6!cHwZJ7a!tEv@eNust@?t`EO2*ELXmrx#mPC_8 zsz4g}r|@ng_@l%D_(1e%3GU1lm*Gqk(2u-=u=VLyni1g7t8TM^BktiN)V;z|J^97( z<09nGz~tNYS!`BEdFmAK(9ZSP(pd49$?wc(mv~H?9H$+V zrr;evCQXUMqwG+8=F0ZlXC^th%LomG#_}#9rQ;l9=Nskn1Oqiv*l)F@M-f z=$JTss7Pk(g^osa$ShLCyg z{#Spd%dxKq`{=cVZuek+whX>GmBF8*TYaMCcK8FZyCjZH-)9ezm*L+6x)~)*qw7HS z!gy`+BNv%$-=EGW+xHjI7lKWG?jn=l-k(i@@xxE0GwXpK^ss(@xGMQOam;gII6Wm) zI&dH%{De>dI!+%LO3#aqA+HyPf93Dc%p2}k)^G8og<@1Y!<9X9HCz0TF(GnI9De~| zL>z`#GA#tDHVhe51JiVG0N_vU4FJ41onC(hHZO|9#|$}aV)|~H6_3SMc=35??->sv zwK>$uhAr<+2gfU?Gf2Oz0nn(6fp6g;8V`x9>ni5YUC>n5D8WHw+ulF!r*sM@Whwp+ zNKJ@mFTS;yUavO&Aey{y@1T;}^rL8+`%WwMs!czOrhb3kNSCTjzlx^FcORu|cvEKa z1>VGCq=N%KmVc&7c|2?~GVe*{Q?XbT^J1WZ}KL z;_+N5Tm_lU@pxPi7eE<7VuKi@;tVML&XE`BUj&s<zvFSyB>rSDc8P_6e2e1PnGbqVSP%FIqO#~Olc~)XWH~@N|Fu|4-PG`c zx3JU}yBb~XI4}`jW7+NxN70|+MQD8&j}NONd1ws|f%qz7)6QnH+M_pEEU4BG@gjo0 zJ^Fhxh1H)MYzfEai8l7PzqXL;c}t{dX?yJ0?S#&^fqwR`Eg_!D0qn?$^qBtq7|3Je zARyV=7g<(V88s$Ngw3`u)>deTUDkTp$llrHn#SJleUTe>reC!_xFSAdNRkK!!3!ba(z!$ z(zk5AJ2f!*EzS%c z{L?)Bn^T|AE$bO?!Ot7C2aO~xNg;iW7HB?A+CC1^<|2k&^2$w}bPOCdU~pMHcvdVWto zmiE~uGFmxrA^e5A#NjYHfD9$6YOtpLeJ%v6ax#phL$oRv!bl;x4risS=&b?h%mh5N z%hPbb6v%-;VCoJFNyMq}H$nN>LgGnnu=#Qa^I7lD1@!m+yof9dHuFv~Gh1CHe$IhM zA1&l6Ube|6A>n-PBpU^pFM0aWfd01~3DEKdPakbxj3m$N`CHZ0u}i3WGEONgB2MzU zp14)bBI=lbLKgbJEb^Wh@=KiJiXc~M31wFTxLdr1*3OD-+L@kc#Npv&0QnN9r*>c8 zyr>KR2TyfGCe1V4gsTkG65(N63IeQNsk;oxC4cm(n+nzqxKxwgP%MfkKEmm?9 zy)lt5+r#GzNW}xOB#%mo`c+F^iTJh~sZ*YeC57D$i_ONCp0}}(Z(@;%y1c@(1aXlt z6~{=DMpq^BjG4GR(XcLZa9xa#Z#(?WPa*UXAzCiZelU?){&hEfk~gu@-*lzW^5(x< z=?h{|o*2~j(2vO>^k5=;?w1C77`ysJ$nPSLY#CbT{CZvdK|e?JX!=khJNWA|`UxK$ z7Z{Bz3_$1>Hsa?wk%7&_LFGsqNrv~bIqa_c7nh{(h2w0*g*Vq9ClT}~A<7Px-hjk?8y+o~f&ha*q|@r#u!$ip=Oo zmnP|wwT6CoBpJ|eA<*jp{pdr%=C2p?H4O95?-0Z2PC>?qVb63Rh8{lXpY#G~knx6) zSOqb9R8L(4F?Eaz8Gjc;Opx(Lk{`r0$XFO?(jcRqy|ubUSrtk8lPYC%4oRWqNha8c zvIA^5mBCSDxMeH`P-POw4rNmmSqR?`Ea*ehlqEO8Ck~s=g;~bq2)ljH>}c{9CB03( z6GgAUlc9DEPv{uCLSjiDG7iV5Yjpq}W#{kDme_gz4gx7kXdKKNsw@~tGO*kUFA)rM zm_poK26zSAmMGZ`D`mP^DSM8@k>?0mWRi6Tl4`aq`)#C|tT1)X5}kXR63EkpJYeh% zo6UQLR8U#X(N$KQswRj2r5UX2hPJxg`S8`v0Qi3pBp4gShs!-=4lhz7xM58S;Ntu^ ziA*5R`L(p~G-`R19uGz;Puj@^a?mKSFVk|g&a(`jfjN0Khd26|;Gk{szninQQw zH^d+O52Znk*(F&d&7UFS3{`usvTr!aRHmkr$(Ay-(yw+A{ja5yhw0E{#MSU}>=*<> z;MPyMkVG=+*eiO^XBGc<#;9; zY33>i{P?Re(#nJ%p9S{9k2~;=`*BBdz>kxZ^lZY=kN9!aXW3*H{gd$H8%DwFg7~rB z5Y>;@EB})NW`9HV<7>$#Kb{qSOwJ`!!|G7!{Yt+PqzC`{Nm-jqo}#~Si$pKL&L34l z{BPjxH%TUPUwn$DsSWSArZy#ZvdDe#W~w4zMOrjXd-oxeXnqQh*xoQ+=gGz(nzkE) znku*Ek!IREMMP^>iV3S{q;RY*%_n0mji^Yk6pU8!k(csvK3PM{QZQtro3VF}DurLo zUM8`)n#wPe$S_m_6}r7IS*0md*pHOa`-MWQjWZXj3jNrR^u=U;Rewk=P)bkiPx{f{ zr36XlkEIxr`6i$zlKEHt;h+Yl!e6`M902>8SA)&p+tK`;14t^)hrcPx7Xyf$9t}4C zeKB9lpPN$rDOH1zb}ITIWZ)n&kgispvcl|?Uxian4I-m03(@SW^iC-mOjZ;4UhGEF z7ZYgo?KmPlRfLD%F{@1G6)P5&Os*aN zk@<${TJ=*U#%o)+h3X(tTxsQxI!N8aEmy~w>Yu7qzq2&|6$hF$|FzTC@4rFA$q+g$ zRV=DOsisA>J(Vx2&xVtUmc{6uA*r~i?jtXwG~8?9OR)VVP>5#$+{=)6u{WQsT^^eF zw$ajep{2*i@406r=}pKfKNZW}Nac8{^5rP<1Ubjsm9IvSNO~N#G1TmQ=-a7EN($+v z+(C%VhTL_Ka+j7ICXi_5e3>dqL=VHDl|mBb9X2-u?%$|}>*5buiU zp`7VSMwof7)Od=7L`DV}Uu|T(T4nsnII<`q=ozH4U_7~vCRvp;VcNjy%<%(=}h+z?53VXUgK}k=VU(k>K;ny z7}BekycM#7p*}PDV09o>4l#OXu~@(xL42`*H{l&$z?*t#3pitM0=w$Lgo2g`S0lXj zTMpk)dZFlo%1~bu;*oQ}@5SG0k3(ot9NY3zHh+fkoS)BbKcC&m$GNBP6jBgEzv;1O z?lt7okiPF?|J!hJZ+AcCKH>gIK8P&`@bU^?_TuFUygUvUrD-}TD8xxC-P>2XPpss_ zSMs4N`LLDpkTmF(hw^J7UYp!~;4@|5qI@)+Or^uql$;qPEgX5cPXhy`WCpq5E5vVD z@f&A(6JGF>TsaIL(#Vl`*@PGTCQ!ZxKMKL`tK_42!Ou11k?LcPUX9M7s6-sHFIku<>XA#N=wopTNdQoB-mM9-)GP!JZ7;;j*xI2GzTk%7Lf}lf4KG9CWI@IgE!he?0~t?$+`l=q(2nXN6|>s<|A34+Ayh3|K~ zt?)sbX2Xn|$x-?ew_zwel}&>UY=+XKjC51Z-AcMyT0*CkPMp@N+ia3+-W~ z1{FepTCnOtFI%fd?S7ToU?Vli*zxXK1p&Dgtw0bhw4bey_FAv)cabad5Uqe$?4>}VidvO=*V_A>nK_ezwqI>~ z`95~e?8jQ`Uu*5P*52oAycTxgNLbI=NRr9UMa~JE)a3Md*ww-Dxl3J6PkWndsjJzm zG&VQ1v@Lad8(W(5A|vOz+Lkrexu!v9WTd{pW|6&ta}WMxz{rSxBlRiqgKk8#+a12B z+pTo^r`m5Y^%|zvOV6moMI)ImOkutJH3kA)zs<%GLcK2jm=*8ui$V8 zEcYla4T{qs1&lVdd%^C&q`k4ap|QzT-RktZJxX>{qsI%p%4$6=P3>NnBD;Zt7m&=K zrr_LcPma>m*u2D5k8)J5U3tZ@WW*Qb+ptaE(^T_43(=S-t(pnq#Bdv{MheJqOY z+&VVtQE7Okvu`nM!fwBs9*ttoxf9aX__QT9|Kavpmpcc2e(0iZwIhnvu(7Og<7~$v zq~k79k5ZpZhe4**QS8;S64UA+Ds1Px!uVf7r+TapG;iS3JK~A`VN)iGZ=Qb}ySwv2 z9m!9RN3*o9Sn>fI-jzbn3N)tojZ}Ze-rQ40|0r=?hB0vH-ncGHT)}G%xK2u3Z$CW6 zVT$gB>t}%LU5V@6U;=)nCI!Ka zQ1%rlv9QTXd=j#+^vQnqEh~Rw5wVSPk6P5-8R_(T+Zt;jhdq^ZZb@%v#M|eL%pN(e2 z-!34}qZ07P)l<1_$JlVw4`Eq=s@`B5A6rOYM>VFhMaPDw2amVcssq5u^cbh^VY7db zPLD~w2T$fT3K_@V%q;1<2iWkP(}<1!Fq)NJbkLn3WK|yPTGKxT$JEj2xhjDMf3E9R zi?Cx)H2YvzJbenaoy51zAyMqgnj-o|G&}RDgH2kSMQIFE*QU|FF?@A6$znZgQ|K)* zoV1WMb|l$OV`5lEoWj%k17{#svM!x`!5-K)H0({#@io@7&H6W25K5>z!@uVT#b8DV zulNlzh-Oc|S4qdjh$0|!RE$B_M?jYo!TEJv-tnKX@3}IM#CK?Q6(oMB!611;?heYJ zO0BD@rFk)C^SsDPe}U#v+MDZLZHfnL2dEIRJk!XymbbdYSA(;?$%`6P7G}WEsE&+9z}VT`+~O4lE-)-_tP>1# zHKzDm+M}*TR8StpwcOk046JoS0LqIj^Cm%~an=Je#VIuc15!^|h~;X1buCRz zU@cU=vsp~_V~4s*LiaisBR-d_Noi6PD!{};Py*0+JkA7G}505hTDEeJ4^A)**c&SKq{ZocQ( z(#^?(|Ju3Ho6_h4!E{N*JE52!`4{Zf8rZA4ncw~g^EVq~#kmKbz-VDP_rNxg!EYFs z(9zZdVI959a^{~JR66h|=!+`rH0+Dw7i{ht_bP1sU2gc6;lY6vee_CvdUMC9N zqN8HOiDJNxhbTOjHRiMBCoSycj@Z6GfX&M*tB69Mh!JJ$_l@>49Hk9K^gH>L}KX-cfH)RbWEh^Y&ah_lDT_#`krY{2x@fd_R=J!^_+5$YdPkP+D<7+`eXPDlR)OcFqxTRRZ^CmDO)=rF!(aMA$!s!kxh4)u`6m6K zWa>5k{bSQ;364+eJvRQGujoP(OFxy$795Z3e<#w;Qs*=BQX0F`5M!DvJF4Ih91`Z4 z*#6@VdKdmlVCRn8s29acp$#T>pw_p%^~THZJ&}gX?>&*qdQK$M&QQzO-+1}tlUcaD z>0~k89k?_?6MTn>eRy&_eE|{WM?5cuht7qk#;{$l0?$)L5x?;Df<_~J08zj8N;wv+ zLOedM3RBBqRGuBpCUJI*GU;c>Q8*TGcEq3h*%6eDC zfi!e|d8UVs(Yn5oUFXks)5+L1Dx476_2YBf>0H^>N9%gz!(G%Vx(0;FE_4gF@X%Do z{%0|(J#1zDKYEp}!YM=J)Ric?-}=)M%p zgI6o$yIU`o&|_xdLr2UQcB6#Q&UqT%C2m+9JsJ4S2E}-$=UvC zj!EOZ9EN~;xrLqnB!hN|@i2_5MJ)N#)Yvh2$2)`7ra*VCP~xhuZn@ za*|}bB~DL{1fN85Byl3)gOe&xPhq>h=th6VdtdjTo+OEE_IZ)&Z8lgC;IiqO%eud; zMwhK#pVCJKpM}4?C7C3V5xB6AD&w;rC3EBW(G_qnb*3;nTXWlNAPdHs2cb&81?ueU zUD4_ib_J3=DTQQ{siDY~`^n|sgj}?C?NGhU+0^c%%e-F~lbTRu@Ai|;x(Qh_M2dLO z#E+(s464DoKY>!#Agrk>o!@$?&RChPOk> zpv?gpmZX8L&W4uZRUw0(_p-$=Jyr!fmxxvT@OTo>lKvFUM^j=WHdcBuk($9<4N>YW;Cv(ne{P?8}mU7|Zx;{m2wjz&`ji zk!OaJJUYS3=Y>NNRbrL9eVo<5+oxG^x9eMxkMB=%X@OPl#UUEaC*RBDFZU-YwB9PR zsm*CMY@uPeg(gNF%8Vdi_Myw9KzX>h&B_->lQndW>>Hu=CC89%x>fd#lzoRT#Sljy zy2Hx*TL9LxI5;#?-GiL6ROminA-Biv@G%xIt7_F}tUNJ}tfMc9`4<0t+>8*l?&e!e zWDy^4C6PdzIjzID{w^$hlqSc6R`OoNquUnWBL49$R`Lc{b7AT+Dcb~X9==`*4BY~o z)5>?*NU_!GlL=o5RSqLqw2l}?Ceu$ebzL#exK*l)|7;j3LlZcx`! z2e?q=f&v`fC}|l3+&VukJ-qm68Nv(Q6)1`x;FN8 zZI8zgr-zq0;+Gy?f{lRTWj`&A7j@7$u%jWOd=xJu3cU6lA3habYC^m}qWm$Pte~Gt zf18ejSK|-u$sli1LivFhQW!o%cKSjJHQDf8jfg2EkI;%|xj2@9qgk;ieM* z?*0XcB(Ds9iBDp8|I()IZtfgGPU<^*Nj{lH-bW#2QFO`(ra{}?$socOEfL7C?s$s--^eB74EmDxnCF?fovKq;cz?ZS$W0V{(QU)QXtPJqIs9Z^4S z2P-D?S5y+o&rTpeqVEWmMBj&l|E&qZR;MYfXL7jt@nEU^P%k1tamRHDp9IuPKB&sm zQ~66JWRnhcWht3L`y~jdG{N8(D?>mHo+6=MEhD2SO%PD82SXi_ARYF}Tgk2AD-q2% z0Z?NmkvznrVMto*Iz9<&T{l?k zt{LPJJ(?z05)ZXGgkxG92FF~ZS?fwA8H?7MJ(CO+T7rjin(GK*scc6tOJxF4X{neh z2#(qXUU}eZy$~stQ}se*j+`TF9la3I=4fXvS|jH4Dnv>hfrUt>_@yU zgb$4qHcJushy~=w^b5)D5#$D6vp~8Z5^&Qay7lFOx9gpK;ZD4O&vFnr#RZc$CMbKN z%!k%QgL^Seih?`I%Jf#aFVXKF-2L!QMr{x1>a6D_cal5#;Jb*0-f!mP?jmo|5s9Gp zp^1SvjopYM7x;jVH<=lEDv2*$2*<}VoH{D}Q5>F_h#>Xb#@s}4YiJ3$Z4^Xul_4P<(@4f?b%Bm26u+))S(j>kW8x4BQd4+!?|v%s7Gpn-hT z@c@3rgUM1Kb(0zedQ|Zxf%;v9jo0()5p0f`!=RmS;Sp}~6dBCTbII`dEHx7lwAVWQ z-&(?qt8QYYRTduJNJi&oAVj>)4K!S(1Gh&N^r@4v>BMGWl5pvUFTh*%{X4TIOo%uAthLo;m^MclL#kqFvn;F`fN9@R?2>+{jJG8`#jIq@XBBOU{SV7Q9AgyDhg6lyRb3Cb%BZ(SLy{g2&s6vqb9*2L&bXwbsRq7 zxwAuEi-!t4qp2@qg9jk>7&dq`P^V!9hvmAu0voKP)yJ^Gl2g5o4OV2T6B|tQYBcOp z6*GzYJ~kNR)fjXKjFoC5K4EZZ?~HC}Y4P&^Y9hby_bzl)#PFAwLW+@=B*XaGWhBGu z`}#7&_ccjAH{VAx9ljCx%p>qCk8YvzK3VD(esm^L!qAPKJgtQ|3j7w;t$ZZFv?0F! z`+H^S(Ph~yWO3lO@cSLn{qET$?rbO4jEXM<#0l|oOLOwimXZ_X*E;DpkaQXXG#9JS z26%ATU**B^=)oG{hg!%aNQ}5UL4P0m2uJX&Rx&UFRFwWpoucBO?aadj*9bJx(nQ<}d{r>%^ zy?0f0cU5(BkgSzHyQ}v8_y6zz|Gt0Mu3go)jNbF=Umn5!g{%Fh>^1m|RD9lCT*K|ju^7^cnme>(ne!~gB*a}2GZa3?&+Y6lIg>2B$6{}yfNx6shz zqiP@QASOu2qUF{*&S~K|z6FPxh>vBYbhrZF?SsvlTXBQVVRrg})vBX7!QI_P6wHRp z@r4Zl$|NwbS_^iN(;;o=Z09&+bqodk$i0V;3#u9%LK;1n$ zjzDa=GK!j(+vJY&PgvWX`LVIkV0*0w0i{08Xrh zmeq7L42D~FE2x(Q%u9=QU{$TaDhW`Ota`O%*V~K!3(wJC|2d;%oXbn53*xU zxMR7r2bQehWGJ06?W~ap!qvOkP?vT#>H$3AOJx(sl``$@%2157v>2J{t<3mN!6=LY zOJVd~b$)xk&flSRzJ>+pn!uWC*Q{2#(x{dFrd`oo%gMfbtd6ky;hNXq_@=FIe$(l1 zmVY}m@EzDHx(o09-NEyY)6d#*E-`}NUR<_9b~6!M?Kx}EcL{> z^F^{B=R1PNR>yRb^DubiAG_1pw6jG`r!X!ZTb~J$M`*hAe|x3rXu9OQ%9!;0P@nXW zXmiqYhc@YPF3C5=bS|BBE(>2VfX5h_(xm8joJ83y=}91}T_fe+) zwU}-FpI&aH%3p=Azl_el7DX4kFwyXHc2NeFDZjXY$b4@N(t|z%edj9A2QPb5uqva2 zdb|AZ;l;m&7oRY_INigoS4U)}<;i@Ms5MNZ!>fkeLyQK!vnVF$nzt0L&{R<@=$+Fu zYBCX_cV-_Sb>Tv9C)(wqL+2SzacAYBINfYQ^Yet>ysd0d4TfXKbcpwkc#xcTJ-L@% zReCdhydATpsHk3Y-bY*>O_*K7|4&#pO~1jSBy{XQX7K z!teF*OE)U~IocJW!fkn|FtYjiM1bFABWe;L9m_|6qen#q_?Re>mP+uM|!kT&(Tzn-<-xUC!2NTl;Oc9P}q> zE0^*ySaf&h8uJpm>q<*#++Z5>u_lcb?eLP=np|m`-MGPWb)K6}r*sBe>N0OX2@A#T zrz64<+|*9qo|wj6wpDbd?7O&c8sMh0w&IE#I%;v9med)$Qk&JRja9EV0=6u!H#&XK zxi1ZHCtycuBO8W|=WQyTEBnA*61ZeXDXLQ1c;0!qoCifuXv4>DG!}X^YS%PBk|5iwY1C1>2L+YU^CFdlnkdxXXX+1-B>d=EkE4D z@(E^n%xrI-TJXf2h%%+``}^p-ob=_&E~jq#>3MHAJ;SxyEv)^neV~F}Af0fvES9Z$ z#c8xO$Mw7Aq2I^fR_3>p{X9DiI^ig`0=U%<8!K%VL811ExFOu1ihR92sA18b2W+yy zD0RX~8Y?W&V_S;3{2z{S?K;jg5`fNFxO~1{tFiIq{ZE#IMx~7VS9D+Z8FuV;Y=2-! zRW;IWj&$Sq@z(=GW%>#@XfUYo8^npxoYt10Uv!~`{UAF^(bRC3ZV6sTcLe#i7vhU? zQAq>)6QVn3qu@SuujbgUvYhBfi}y`x&jWK(b*XjmRICG&O|s1yzX2IN)0fxtL@69$eJXqDgl@0m>G-ZRGp~vnMbbtkz*`5|oanv3hHl=&_%MgW??RR|_`$X6dkWyowZLL^T)6i%KRE`$P53h;&AsaiK3`4Gs4C&d%dz^+%*)2E| zQK>w}lQP@gI1ynyo|46$LT?fMhT}-v0k(d0ygGelQyuO5c)h`Q${h|@iXz`3aX4IE zZ-`_|8&$Ar;xIXBFDXgz6HLyCz3_z)C%&upV^a%l%o!Tz?Hq*jgf@fI-FPI4u2D>; zdnW}2pDRSwRIt5EgiLxW%0+UABTbX)4Lli2+D1X`_OScPnHU zA-Q#Nl9S%-&To+?CAB?72AkBj5y-h+nA?xqHWIZ}+AZ28U6LT_L2Q}pt4RBNY~*`V zR5X!$IgEHXGNNZ2No&$(L2HOZ<)aL==C#nB_bvMH>EkK-2%=IOrNiES_IZFlpDnJs zzU`Lh-I|TdnZWUf$5@vS!dQk*gY(u@OkR?`eug0y>=mo5BI_4aXE+nJpGKk>hi!^; z*s-M@S7Hn19`Z@eotwEDf5pm>mu22II?_wkp7XXN(Ueiz+B6l^XizU5%BoNSlTtKP3=n4_RPXeY2UsXcF^6ouY}#R__`m(N!IKXKK-Lh z{|g50NV}$gdCakDJs@16=_8ll#)XEOgwtaZdeSNFw)Ch^o=3?{O;itM#>HqzMV4V~ zw3ZhYS7LcIz$)D1il}IfU$r1$qO`IFwrv!O^jhPfAQQ7?8C)W*fEvuMrupX8ZnI^c zR&4ai)5<)RSXyDFTxrGZSckNxuUyg+`eKFGY$o&-tJ&to7)ybEq-zlA%1V87#f=NO ztTn(I#f91yvcmT&3h!An79ixE7(NT_zxZHm`lIAEZC>pU_2$F7;2WLpGo_(>VvS59 z=$VG7zj!F=5ty1(4oCg5w0Z^z`cCaidui`4d@NEX?XqIp`>)W<`$K$~m@w|5h^~(sh!`;E!v6QDJr5XtDO|^rtAie?`083;PTLy%+Xr(0Wmdp19A17oQYkfQgA(*dKUbs~Gly zj2*;v9L)GaLY%xO5xIVsK#tvp)oth9J2wY9j_Ln zQ0BWMa;+2UGnQ!06!%3g&U3}B37Ii;iCt|=5b)_;rkf&DF?q?W?Xzk0IsL>cD-Z4H z>7iUJhT9`iY+7(`{AxS*ZINA(z_irfb6#^Pnx?K8(g}TnrBYV>0wZsPpIQ!9vAYEDlYIh zG4>0HP`O&NmUy0>u6A)xqSC@+u>7G}u^1XjP#5`?f4b#;WG()%k@%-u-aquQ(5|1G zv3S&$0oHXHGI=GwHf2CH$p>SSd*>@!9w1#9XpT;JMU&e@<4NT_spJ^;(9GE zZAd7VjN7b0A7>3c_n(h3T@=>#nxPS9#j=FNs<_MthnihwT9&vUeez|Ak5h>)OR!R( zOMN~S8^)cvYiVax%WV>5%k5Sz-+H%3hsKVCON(aSm^OpwUbY!gvyVl4>`vY1$@4t> zCaSB*dQ`-Ryu>h3nk)Z45{Y8@cjv(Q_v?|s-1+w_XquXT>BIo}H)*57hxZU<7slzVXyCKL?0z};0!lsCUvni-IS1@HtZ6SGXVJ?a1l{|{ zubPrPA>%a=;)P9;c!wZKMd>p!ubENW?b_!O82%rT;XT_({*&V*_zy9x{G0i1-!Ws7 z|JG88@gFNK8UNjolA4FZfxC)wV2VbA^I+-}gh(&Og)fI61Q(_@QIWQZY7Xb_-*hC3 z@!@50KDNTYu7rB*S4_I$giKtIZxU+21_)sJ}H|gGori^q~$GcafKy?P7&!puFB;K8nU4%Z@ zbqktw+BEzt>GE@AyGfV3!2zK#H~V0Iz;iitmt`c0I2&`bHs*t}!*52v^{h ze>FQO*RWYB5pUjMy+)!oSU> zix1*;a`f^y{@S}8gf_aJAkSKhcp3&$#2pG`!dBaNqRocv4hGzf2bV}ltzlK!+8ovn z-KvGvH@v>CUBm0^tOdNk)DM{45-rZny9;;}5KY`gH}GdR@KK(i=l-zb=dzWARQvIM zxnpB>5+m^$eIzmrM9*=clh4X9bQ=YFh2993It}Np&`gpMX&h5g`0G4T=siQV`Exfn zAQ1l@U%`PB;iMX5Ey(zNXz%}_mbug3`;m4i{7|3R>oMTZ(r|YhZ0}z+y@hrErX33Z zxVI_YEqQhf>1M~Y_n*4fC-&4@2GC1bEi8SflLXenwT0Z1#?8#vlWyZ-bpjeAhpfb( zSllE-Y1)jXbzL}$8xh?@_O_9JdCBYg*8dQ`K-Dd*s%efr zd^YJ86Iyax%3e#M8`+518dmB^T4~1T?m`|V&bvIXN7bAyem@`_k*; zB7xH@1<$4oU9BKPPWCutx_3p=f2pLCA?q?o|0xg6wHd04C|=X2s<(g&o!(4C(W-o&2ef>uevB zsLR>pj8CQd=C${0W~5A!VpgQ2xq*z(lVevKVmWP6X)F_%en@fqpCRUS|Mli-Z346h z0s9dau-P(|85m(A=Nf}J+#$>~fPI7D&Ymg{RpU$w$2`8imwGY=_;rpsiBSV@=7`4z ziHt{cL`G~5b46kfQy4w*Y0p29NqpKfo9G3jGDABW3XzRA_xo<1af@b41gCGaLF7UCWT_n=aW~eGW`e2``T@8L6RQgPx#@ft*b9OF+|0IKSVeo&? zP&L!c;oa9+3qF=WQqnDcRL1Aih15kEyTxAlkIBLn*IqR%CIfth4YwRx)*&kMDFSsM zmUiT-#hwk##sRz4Zf@9w{a$>=uwie;dBPn`>0T)Szd4&P)794qH)#>R&yHg=0wsG&K-Q5vW`;Uy#J;yIu5L2Rt;l*JU(3?>Dd$5 zX*0#spqd>1hC%$jn8V+(VD9_!n%h0= zbj@xwtZ&WGk4Wb{G`sf`OXnor%OG83xA_cJMRu$7soK@xo1oIZK8>|>&bc?2!Mid@ z7Y1LNp=y_O-d&}xre6os)$OM40?2%^DOBEb6U#=pJ8Cw|v?=sAu#(?M|1Fi+jdWJZ zb|anNJ2m^&_l9Wd%Ez*Vx_CU$Y}WTt)s+)c)hQ}5RavQzs>69y_44GqybC|EI_NvZ z2YPTd?Un45N1n~+S6>E)=_@Uno?o4bH8OKc&*wa-zj%D+ig(6wC=fk ze)YmgnY8T*xt?E5vCDXV^}kS8d?Jw+8)|ZJbswE_JjR-$({uC~D_O5S3rU0}UTLXx zjI*3~A{u4hfgvAbrJlr23y;e3F;*&5x7yn(E64^f#$m!t-z^m<#NSUzKhVft^xX6H zl!1^h_vvUqCAKztJ!MRkdJM&T3pM9aGZEF&mV$1Hi8s-k?HShJgN$Cw_L|>}XISq< zyWG#Pk{j?NUz#y+it%nr8nIriLiOdlDQ$T04J46yP)%FIA^y&Q82%wjR9OF@&|OA{ z={}uHb*mRls|R^RbGAVVH{b5)loVa~5zVBm8Lm=ni=A|`9H{6Pqqb2?L^{(2-WEm!qS)L%hUww3P4S8Cir zNA>A~IZ@PuFEx=r5;d3BDFNO?IGLHc8Bg<^?xH6R6u=`~!cjLy8Rc4Sgcu}7)Irr501XNt|KZU`@gnY|j%gywo4 zJLwiNO5}ncRESv0`3+g9Cq8J$Jaj1{s z8HXkr$@I&zb9PH4F*n>#MNS6(VlAyeVTWn z(7!|QQARb%6dD}#TuL&@|2?@~fS%P+0QjC^zAPui(4;C&IYhXs1(s@|YyRV3(tOD3D3 zKM2r2Cd@4idMQAF9*$K8X9oT16%zDosKh|eN_jwU_N&jxw5t%gXeHFe8mif>?;`(+ zk*X&}si>+WKSqUb0rZ}`W&CR+WztAA*D`*JUB>M4OzMg!8Wjr2m5Zs1U=Zz6NK0jfR)wKvYsg|Mi|j zpKA^7E0HLcl5UO9&PQ-bep-$dxbH{u(y~g=l=?K9vZ?tp>QY%t$Mw{%_>yLsdZ48y z-K2#|fcJNhotbbMyYeOXRk1jb({YvFLg6(z3m;vXVB=eXg(rk@scf8Oaa{@!(^@!C znU{GMejJqJm)^%yiOs@Usn67wQ_&C>*9pwqw>_6&-o9-pU?wq1FmJ}FYG6hs72aFu z+;A4uPmM$|Fdt3>^VS?-epMtdH<-^wQwip+nzeLXx7G~SzF(GLOxj`icW>#7%FkgE8uu}6Y3Z-V= z{lIV@lX8-HzMUM+le4U)0DXsu0yzsXCq}ul^R1C62IzOE0UDDKreK!U^8Xge%MIvz z&{P8YbPdpSd;mZvEmRTjy%n;H0D5(lorMci5H0;CA^mBx&xG{50qM61^9n;+3J{Qn z3zdPHA^k;Y!6E%ORAP{3r6q;*P!e=;NKp$IQPA54@NdE&l zT7xudDM)`;M1kyS07!p362%~WcN(P6$N}k}Me=e(`X^{AA$^8sEgc^K(n$+d#CuOd z_TZ3)bGktqrzE7;OeG+FH^Syy!o0$emI4H%;X-9#W=NNy9EbEvsKg-6N=pUlOD@5? zj)LcG%FTKo7|^3aOcKv$V^js6MI{C29dvFuQ||4NC?-o zXHiQ5`fd>gL&(o}MWPs>-=7BPGjrtU4@L5F1NuHRm4H4|%g=Ot06-@#R1xpp3E4#e zt)|?QJ8ZJ}@W`^`vpaqBYSEB}x` zG-|e$bI)lirq3;O87=xB7}VpDpd_k)NWSK%j;bkG|BHx(A;9_vkthc152nF-dk$Ft zI+B+g*1tki3G3||tm*gwuufX2qTYKNvWviajf|%m>BJOVN1l_we$lD~us;Z3e@_@# z7}!#P05+VcOw0`IQ=uFO_9iMZV6)Ov0sGQx*^98Avs}%)9~jnSQce=pJ29{_SBqK- z)ECpq;Y_|Sh(s|^e>4r$XXOC(Ya)5ML46IHN>HDrftrr%)|vs^ck-RIPzmtPh3q1r zR=HX@Ck4~eyAsj?*=OeJj{?%?3G)g=S_%-5h6|N}nIU~EwBV4wjYD8H{P; z`w%A9#bC^K-4A+;YJ^KkPO4`qdIgMG9W|xCnobR8N_}M{ioy7SIE+WJA8c!$4PjO! zFn2QEi>3_6BdkwlFP+fsHAA)Uq&jJ%65w45*@FR@IVTOs?1Y?9zm<$Lf&2h~e7P{K zFp#AH0c1E(8J8KzcR>pd15`#V~EhY4~Z~Gm9ex$@upsz_wLjScC-RggsPcIMBZ#62)@1K9&Z zU%9CZ^i>53{X5B86Z($=`qv3l3qxND5YUH9m9d$j|6XXpp?@!x81z|bsh~g0_vsD~ z`?=n&6iw(1Ed~bvR7_kF{r{7^&(R;NtlHwBQ7=n@WrTSZS#UU^m+bJiG}&u?0U}iGkt2 z(v+4&f0bO%)4y3)fqz~^#}KmrTqKHt|7+>s&$CzkKqN6Y_(i-#ug?3 zDL@baoT|*tOaQ-u7MuWnOC?4Cth7`FaFy6wJUj--_1?wk(#}+4Ul!w zWEUZUb=|@wg$3filr(TDS!~k4cR&M23v&z8fD|BT0B%(VXQqK0parLa8>z%-fR&bt z24?wgVi3o{GDT?!CzhdY&_nc+UMR>FOfN(}C-v{Z1vl6E`~5AUxk zhIggIz<^(&86hcBT)?UKTd~yo*ntyB8j;ne;S%9 z$m@IZ>5Oi%8OVL7`bjI50Ph6IE&};u738((NWr|}MG5+A$W{~dKL+U63quQoUJ4MP zheMUAnL$4XEqIQvP>F$_m6i<-Aiep*UwAP-%qxh zp#K>_-xh`z2E7y@Ko5s1Q!|79L1@82{}7cJ=vgTb=*@n0VkW!AFTKfkiwkw}f_t-B z-``kxEK>FHNL5zqqpJFi1=V3VUa48WZ~Gk<52UhwXdB)gynSy6+B=iZ$xe$0B*V=b zUGH%9Vx!uw*_$hkdSKTBU7R>o(oV(1uGGX%>0+myec`Efck`lc`R$gy2+1|Ke)DGE zZtZs~wtjrGTc2-qZ1OiV0?o>?W@XWAMms*knpsXvqh*>#NA-RSy5DHGDt5=Yf(Gfx za8-r>SbbR>pAA>aBT(J$%!bQ-I|$tRg5L>`t~M&|z^(Z+^DQ=T)lN9}8mrcZKkn|F z^0v;KJJZhU*>GaPuG=juXtdCNqG|=UA6Sb`d|AP}Dbujv>!kSFZq@K@Dri*7b5`YM zI_r0wuZG9WHyS~`5!l+{T}OsfzFi5BbIJ$j8?D6-j;!+W{)J|_(paQH_aW>>{D@s+ zZt%+o+`uWz;6Y!afruuU-LjjFR#2|l`|Vn1*HPi5W7VRsqv6r^K{qJFj-c(!N~7Uu z)t+lFpu1HEtX3VPgc>c|TEvlwpk-BTGN*G#xXP_J+dVy;RV1D!2n|&AM z_2$X4-D)*jWyh*lYjz7GOsZCbPPn?!4ooSdOiCv_F?J>weq}MgK;3AByV~-3b=q3!ETm`a8C4!C`-cPz*8%_pC>4dc10HD8H|rz1-I%cOX~)S{5R*>26ab}-NS0N}Sc z!D0=aO$62)P*lZ_&Fxwqo`{%SEJyH+3@H0eijc$M8vjr|unv|TcfqOQKjL?!)}YW| z=`UIU+8f%ywU2>X%f9okzmt6bg>HB1#W=x=R9y2 z(bK39Ln>l8hNuF+T^6h7E>iH~Wr-Y(BaDv_GmCR}6%alI6&%|R(8+NX)VjHBFIsM` zY*ni*o28#S!lOwtx!kvF^PJEQhs*5x{?2TBE?my(1o%ZLy7j6Ha0KPRYAx8HCj`#X zPzs?HfKMT#YR~&%&+r)IXx&=G2;nfK%|~Cx2trkMe4GyQ^0fCfW!HbCkEiJ4N&5II zeS8@o?QnwX2KbRWr~z?-^E$1EHo}-{*l|I%j!^e91xRpK* z)5nkK=itL(WokDhE} zkFj|4pbOj8?$N$?w!zh-EwF5-n@4-$*tQpsHpZ|!;2zy0XScyTx>3ef!#!FrXG>%r zEuyh2XOFI}*>u{Y33of3(h>fEz&o34st?Fb_urqoMCi-`m}qJ2UC- z(ZenRE^LCJ6Owpr7Xe)H+G~4b<5!ZRQn5ES<;C$5uOGxVCVoH4i?hWhX1(jR*X8~G z^XPLPQ&@wyw@zE#hu4t$YaQK!X6e|`Xv11y8Q_|BOZ_oxRS&{yD%y_5Lu;OH zb(~i^uXRpFmCjkH$2l9#v<3gRF1@uxYj2t=;Y4sx|#qYI^+C z>?0k-1PNKN+(ySaCmP3J;n5c2V+AQ4t-{~-kyhQUx?$%SyM5U58%R!YcefD*Gto-? z!5RQ*5*S+kydCCrNZYy4+30MF?%V1#7woNmyV0=yt%sZbL0x%@r!B3cq0?-1yG&jT zD%^Wp3pY*K4-gbn`Aen_Ry$`pE1XTv)hM*QJ&ULw zXc&wx-qmb`2%exM08p|TwUXUvF9fBqS@P|cZwIidq{Sc7p;fa&tIXkF8dQpaGL)`y zA8@6+Lx*gf6|Pz-ZH1MqI8jPRO*!l3g=pQi%nc>77xn~F_0)BxOuK(&D1Lk`e%AC> zW_*`m8^(^MDE?bjeowy2@75|`&w_V-XwA0kmS3qh>y@BoS2efuj-Y!SkFfmF`Zw-> z^R_$Qy!{UO{|+^L2eyjpqKAHSus*&0g6W;a7D0Pq!Sat@0`Md9qmx9>iaw^S-R?xk zYkyVHSVn)i|MX?Y9XE;pu2o&(UeNC3By(LUbgWRJ16Xlv10qDx{(?mvaCvg_M&5re zCO~wvCA08N;PV^dKi8_eZ(Iek(X(*9sIuTqG(O5X|H`}dL+|dAJ98sAwC|9D$VYe1KoqdxO zhkuPY{1`(0ZzRSSi)u~4@9P4{hS_HAXr`ho{N~}z8>7Va=`v1LsuS&}AysqMo4!2} zM5UcMXuX^$e97%^WZX67oD|pedoNH;oFq?`^*G-ae6=p2lN^k}Bj4@LTT{+fHKszl zbZmV%L>{3r(>Htd)$y3gxzrf>{6ru5kZ5z{bFVh?arWdJXF6BTI9El#Gl0h!YtqQ* zH=HfmQ0ZwPs^pBRj_7IKp?23kgWN}5@~^~@>#M!oNSU94ufK%K{yB~=HapSqvpql6 z%3i%l(b!~fJ-A=DdeMQ%OTn|=8d%k*Q+m7kzrk})!gF6VJvY_EmDk4vrFDh*XizJd zMS<51xrPMwc^6Pj&}6q1tiyj>`lhXS2na$36}53T8D z6M|nNl;&+?jcTwOyQV|Dcf^C(yqn3rY&z+c7x9vyH}7m-ad(C*cW1bO4;hWIpk%ka z#T2tSWCWY$_Bq9RNidt8%OAa6U4YyU#MF}>s^{albonf*yX^(7FG+k4P{?rNJ0Y!~ z#(#g-Gq(EUzdv5Ylim35A(Sh^f0yLpzYObNN;G(kwXI2mbWP`j-q;`-e3VLX8oY-I z>^(TbD9^i_SKOTj_YQ43D;aW#5*2xVI?-6YEk|R$B*^nqxxCmrKnjrO)iIgLg@}BV zDNAJ$<=&ymPLkq}DHJ#FXf3%2Sx>4ctC|86E&&xxFvCS_f0{k9p zQIi1aT0R0CT^GPOvVwtadrf7uL5dsQn45v z?MbY%m8Pn+ZGb63p1q{AI)g1h#XS6gJP+(w$1+Vmma%Ub41^ zioF%ayFTrypXvy?Vn zatS8upy(;g*hg6jji9|m{OkI1S$fsWN^)F*lmbzh5Mqu8qGg9W$pG_wD)L&7s_zxj z-ZjYJT}!!~3q6Mys?q<{7UgLOFl@Z@7Q?9l+H_VsmC@!rbS}-yS4g$Q{jq9U)5@u6 z6~bT((883A){xH3BkXTu71*@=SP#o5nB@txy*VnuJLXiBDSaPVMBkO9FIRRYRkN6$ z4|UTs+Mw+|9dhl%RUGc?-B=j4i0ppQS9)$wGL}5 zZ4^PF_Gr=&?oUO&-mS=C(NPARoj@yfqDg8iEV<*fiMgO3jdATd&MzeZov~=;T)SRp z?aAw(tc1;K1v^r-CHqTu?H-(JU{_T((ruP>=Jo1bPOz8DvoG_ZeBROf6G+^2S5PV6eniMLL?Z%}z2n3JkX zt%83^RA916e`Ch4Lq^Z;OCC8fw@2lK}`mjK^qh#9A<4D5f zW$G-F3=Qp)Qe^E49_sxmg0l$Ts<;Ge+gGDOC!$re^=9>8ivcQ;w`Hrq#c z?0Soin@rL%COVB$61Rg=bFO3=d)K%**QNml>S()_Ik#?uJwhiaP1W5XgxZ(Q2F*GS zc$N5NNTAL6oA;I|?^JMBiH;y)FB`fhcI_cj3>j4PT{q;GkzMW3<*INwBX)jPZ`>_z zUxTpuEtE8{H!J9zl?HWe&8Vz$Q@*dVQcs4aFA4QmXm0#z3`gO|t0OWZe#7~cLw;0b> zV^ORZ+1#G>Tuqy3v^0&LLg*Rjce>1&j>H19n8~{nBDzhPLKH>xl%f$-__C^FECqv)Mk2D;T!^7rIMx5AO;5M5iUf&5RQ7bF5H$ z8l3R|A9cLXlgM|H>E-}bllIg8nPjuLKC3!oA9LKEh`wpeJIi zB**vS+_Cq5XcCQM4iMsGSjYPS{mJG{+TY`iCO=JkELts+`~cOlXkDWzM(%Xd6lbcA zk&?HOk~G~F>>>5B&S!gpbYmCQ&Xt~2AjL%Y#aKebQDeOEU zLP#={Il|4w6_3ZF7*}i?m@B>>3(U*rhNBn2bW(aZ4PETY{w)X$fpd4Pn@Hxpwfc@E%m* zlZM8eO75_6&@VorGLC8z{Y{xOn4xYeJpkY6gwYp~y(>}39D?b80P|_nXla}s} z>tn>c6A-^on>{S;zR`zbWwKa&%6lg?^WKFY6BEYnnAjuAu*;Y^|1nj?2f{{BD8B!@ zMU=@gan4ZYBU&Rb;T{i}oxR7SbmVQXD9O7Ah5GKDoG~`%^{6J%|FHBuV)jbc6J5+s zFzdazOkm0EVurC{^DR+9%z!yJY<^7TdBEsf94cO(O;lhax4#XWA3;Wu4V&jtF878F zgFx>M8)~#(ltTTY+_1R>UVKKh0mf5m$vp4zWYNlbiz!d68a0X6^n^}{y8f4%`VV8H z=CoXj&_>NEaS2Apy8wsNF%^=FIs0h=NE`*P@Y5e+C0_K&{IOmBC}3hYqcm&NQ5V`+ zDeI3h2BkJ09rsHCZS@G*LJS@i$2KnC8)?}-J;KPd)tmEfwLG~8n?81VzPuS5K67jw z6w0j{+NoJk$2v+?t5K@rIq*%Ht78WmUt~AH}A9BK`03q3!y^ zc)|na$=&vx)vkx^f$3Y%SWL#Y3>jzK27}bG7Z|eJt%kS4kj=sv`kQ;1mde-z+c*p3 zTl(_>neB90P^xkLN{8(dUM~UfTD+lgBX0i9;u4Nh)%klP*n{B6shSiUXS_x6jst2o z+pd@9eA}j-Gzcyo#j7bw&BKk-W$^)?pkxK5hHazPtj)Er3unCCLR)U&ylm}L+*^(b zENckYjeB>4`d){UM!zww#bZu7kPSYF2xZgGLN@KqvgwO2Gn$eO{nT%$UEja!;UWb5 z{ktByt*jl!xw=pU?8}OP@4no5U53QV-%!O6`wPX#b#Z*C$ri2uBv?}4JSU=*V?>bU z0GnU0PxQ5U7O%xnhu&XdtbkupP)OO(C9(P~&6N|k#aDUOB*djxzwab}@yT2wv-0U% zdipfi>h~S7C^o9U38VVKHqQS%7MRt`_FN_U6BK33-N}t}x}h&ub&tu+g`~8NN`Q9+ zvin{^;7bQ=>L0%z6nTrlQ21R(V?F$b16Wqe3Y6ot z@JdQCT41TAqJ`hf9Mcy>wLuO03JNJ_Xf!ZAY{(Rv9y4r%7X(FQ7Ev^DF6A7~zWLTz z6r+g)Nt)Or_RVQosC04Z)=fobJDc+CwC|2J%FQ#EqA25;EBH?Pph~M2C&_w?n{d;| z)0tzJbSoQ{2vNOCC#tL%%Od8;)o49r6YGCh2p!sgUHeM=^VKeElT4=gsNUMyZh;!@5Uy7 zFE*K_7BP7^r*rnEUrST?kj|j5!x`wTPS)Fnh~{3%BRju&VXXakG#)E9|)# zL-i%&Ythll|BjVp6zl@vFW!-zlX@DT>&Q-qUB;1}pOf9ZpUa93Mf9&(M5i1lcQSN( zkxuTA_1PzPl#aaHRCMM2I|}vPEy=W&@ZliAPcCwE?% zeAJp=E6(0o((_5{s}kPS-gCPle$qN2N_)`y1}e^@W+Kj|ZSCBY5O1QlzhgVsLq?Hf zI|ooM_pu#v1KvQZ83U&nk6BZT^O@INEI<+&zS7wRkAEHEs^+Q7U z?4hmBrMlG%rqzRNqs%m^!!6}{geaqnjvuPR1Bkh{QPQ%?T&2XkLpoVD)Z*JHV^R+5 zbPXzg7qvPEmCU7F@?cMw*&%J665#zQWcN+ojHmgthNpB72sx+7>OCXrM>(tbN3z(QRWyN` zKNluvvVA{WCQ^VHUc;rzXl;1id&}f$Xu)R{-=GwmRj|||Lu^iUL)bEzxgIYb7$)W~ z&$C>S;bQ1BFyL1(A!)S#8~L20on=u_|EY)uNh*oXGta}t&&8q`)Wamy$FRKFA|si8 z{VXS}SZSiuRIcZ^{MS&1!F`lhsw}2E13*4)rHX#~N|ww{Ng-gK`|~+bPAs&QePS_Uq_rw4tIs*ScbsccIY0a33MF zvNl8a5^y-)c^(!1`{>qiwl=PeMKQo1O#*(L0IxLc2k~!=Mdt3{_oFC7{Fta!*-W=| zo6Qi`hnShYeA-SWz`Go>i$MP5Zb8u#^W2*f^lu`Q%^vb%6dD}#TuQo={}1GL0eY540pNWiB8Je*|79$S zf&LG(KyNcU`|jrdHWry1^dCo233^tmvYBoT0Q$6@3IpClkUcEWGgtKnJQ zg8mNy`bUJhg+VU`2++f^%HY01{{v{jLH|QaG0?MA9?+Zh>hw%@i$`$fqLok=Yp7L~R2+{*Db6hYU*T<;vt$^N(w~W6jRwj!?b1ma%*k!C8O;A<5qfrr| zi1++OG|91epP|W%w0KW8XD{9>9eKkm8uFH-P~Y8zT)d~6M0em(S}xvGI>GyI1@DjG zGIevAyg!7+`&)#3IdsUmcweRBJXW;zZWSzcLcEFD{ub{o$SAUS-$c3Gi}&P)-i!Ct zV!gNoPK+1t?|}#3KoXe;wZ;3qZ-N(XoVS>A#2*PQq@PVk=v=7lf3K2oc& zzdshmx}^J(qw^6=$=AiK49U!!njN}?q_jb3J}9uI8d3__bB{XXu(I} zKcN&Gg|pNmLt9QoLs(oVFz-0;#RT(?^M(Ru5|ak=vPlEX$fUx11>GCY`r5BWFo{@r zAPdafa)9~7o~rc(^LiAOVBV%#OV@R4&0y7gjm!~r+CnA3`vuG&7|ifZ7ck?F1oL*X z&II!V0Q3J7?OzzoQh;)xGOuqiUk>Fsn0HZ%ftjV23d~pDJglxc*Ee@#O6JuM4CgT^ zCynRdrzqx~v&^Lc{YJVu96;}nMX}zwlLhGQIRL#7%gfz6yC^CFymv(r*&d_mh1lr16=1?`C0MVMt2>0@84yGO%w*KLjl}q#vdf zgEUJmDWr$eK^KQKb**DFVaKBR#Ot+rME}EW=5&&ihV);Pqcun)mxA=)iYSmZnRA_7 z1MZK2oz}>G}YWPFtuV-up0Q4-RQKryHbkOG5gG zWSQynGMJ5I3wRCSdJ@jNOioyBaS#Xwo)6ahPt73V%;e0BJN;vD}Mb~v}&0t-$ zhfZ6l1bCy6T?Ec*{>&Yifo9<~3FeE*Iup$A2AIc%afQJw1qd+1fy%tT!F(;W;9#Di z6azC$Eftur+>KLp^_*u?h=L*X&(&BI z1N3{d0DXRr{`p8OFE^k=6qSHJU+bUg`T&4VTc{%5I{?{50Ii1H!Z{g;mfn?+eka*y zLK>gY^llgC6^67FARrAFDg*n5^!uR&hx7+1#URa6O9knxE^jvLHr}C_>p)5-rgs)v z;TH7|4C?V%P#V?$nS9Mr9cNRp{Ih?`w z##j^s^`lv!z90vvUl+^E4eB#dRD${f4b*g9x7G~UMF-z$3zYzGJ!BUFwd$*db22b3 zy(=Mo71?J(`cXjo1YurbNJ{|%(r}?Nuy083hZY>tw@`}p)hxACklvm9*$~OA#@PG9 zLj835IgtGO(A}N`X_0?<|D1RZ#220)Lf_noMKKtEA`8YB=790tvAo=KMPR&I#!#6eAOpk3^B(UZ%S-@&0suZJ3@Z#^DL?=i&QqrK4d9PM z3l88

KPVrIrf7SLA=*L$d$;)`;C_?xl3+#r4$MJ0$Y(m+ht2LN%}LKW%WL` z3FF5AMNsY|ga2IEgAVLXcSVB7K>2s=L(m>b92P?X_#gw?6+r5n1v zW~eSYs7~9c1bC-H_FzC}&dKPGxo72o`bIL&1o9^VW^z66r_H=7@b3`OF@*m5 zXe^2W{WF0cU4%nkjWD5{{Z_xf~4x7ZBkMThrkE0qB6OvoM>`pQjRpszAW=pP_!&0haWKz~Y@ zS{V9LfPg++s*LR$`VDBoq2HtwgFZ_w74&ELQS0GhKi9jJ;sKqZ#lYZSlMt6i|2^b= z-ti|gEBN0lB4h|X|65~G4E|rrhJT*(u7}YGLS00RsAPsWP^2=pTg^9Qtpf6oWoXEfw@<_&VzFuwSh2H?$ZS z{A&{8(&+y)^1kT%&CCk^Zx<0VguefQSQLZ*ce3H1=Vbf)Vu`uo|CcDL;IE%;r#l0{ zKW(K#gm)ig7lFST{F{Etz<{wFuQ?8Q76fpKFt#uONCAQX;8bO9-vsbhXu%2K zZIogJz*0*^0Q+!`d3fmm-9krxlnMhwe^Qr~#{I+Obl&&tITh&NEuvxw{r+FXq8R9( z%LaX(Gxi^iCFTbGhfq|3UO#0|cLo4`+De52?;Vg`1oRu?eqVEE2I6%eO1OW4EH&Z& z9N_*gVP;{tO92AzaHle~Z@7O8T5!03n^Fw!EVWc{zlP4-4-fB`7Q?&JVPL?o(hL$O z-Hlf|{*3(25pQHwkpDj-GKK*8=VMU}^3P{OKF^8#mB*XtG+%<#^KEb=D5@Z@pUI~? z13*4)r9y)D9GajA^M)5C=+7iuP0&9N(Epq8M`6%Q0Rr@Js4}&0(C>h9 z9P}4Zih-V`mJIZCI{L*1y{5z9pf`l2yZIRkZ~=Nfs{;M?lw&x9`)guR4D>(G1bwdK z`&KM5cRzm{ipHQvrOINuqg!kS@}h(Lw3SMLcO_&G2728~S)kYNOVHm*wwj>-IY7Tx z7+M(gQh)$G9I8z18}tuA3l91}r4$1_OXUH*S+DLRvRiy(LB3mDsEZfeo5dFW#=;}9 zs_%|fWvN9}Ro_@p6-MLLx)lU=pgtb0Upf!pDaU8}pgny-+VOcnGTf}!^^VppG;8g; zy`|c0gmxp;#fe)b?N&nUYEA4KUF?)|dvtcg-Lha?LEE<%Ai3@~4sHo-|Bzd?_3K;Q z#$2;wlfS9msaPdZtRjk)wd-Y8%yJSMt1jzIVt{Z`*r-aCTvzKvsU#W-3>aWHW#ST0|+~nU$N`V4MF9w8#)yk zJg7?)5YYs)eY@54!%E#gWY;_UmPeD0RgeE1jgGgExM-!&3fqCqG#ZW8?Ai7_s#|;5 z@*8L+TYVPUqfet=nj|!;0OgHfzY$i6+|N+?ETs1TNC2nKvu8?>GI5 zV>N1Z+eZtNs@1R)t!uVJQ_3il(uqz_+)0S=z6sz(Yq?ydgDicTc_UFcT2D3vXeb9w zREJHSXieQ}%(tz18!cYL-^=YrC)(iK)uvyo)a;hssG%AcVKEbp0Z4N&6D{J_DlOlh zbB~~hj@DZ3uvt-;qUA2aX-%!Y&_d*kkVC_=3oc;lH>^4dT*t1UbsGV>UtMYicDvTB z99f`XT5lg|H3Pe%mt;{=4J(J-z~#ZYu2ORY3vbziAwtV>2?gisXf=!p5d2o?HX9JS zMr5nZxpf!^+@3@!R06D09(b6f)!_0~zI8bM6Crv$;R%t`m`5Pi-32%7T)Tc#w6kp%TM0HlPx;C_;`!>w}|>&^l6a+H9+_%RB&uNL?s)m$aSz{FIaB9V%2KC&AOj^qvJ_3 zxjeAzbDYqQMJw#aq0UTuHd@K)1o%ZLx{aC(aDP69VUWD231p!KaW>v*!Y^ zXLN#bwP7uwg>V_t=Hfrb2tqY>eVi`x^py7)^{#(IKOd!^57W;F=;wX-i6-OEBLFb% zXo5rPiW8SMyIPSP(ZRc#dOG2I1&h5@bG{#L(bU*5hv7zu;#QkTZ zH@lsU)bznbH0lQEZ#(zWsN&U-D~1vy=%QI)ilG!~>-bDn=Wg%T-3=HB}dUL9vT)5Am~GZ$@?cp{Ok9j}PZ$y>WUZ{w35I<1&3;IOfsIL7;toK7?xxyoQ)kkN zR#ltzI>#`^Hsia*^|u2M-cMllzGcDNIyZnqTb2(p1{4F322~6ktPPF^AY6GhjR*A! z_AR^Ht-4zUGnZU2v~++McWoD_5HgZR^`5b*CS#}x0(n}tW`u+>@>n+3%CeDVjTKo2`5}60x@)Go)YIK` zRZALtoOQynu|k;;XeWUr3t0$BATe-4vTP0z2+l&X%fdo7BpU<4XLk)47C0w+AO^yI z|9#ZGx4OEztGgu`7M-J>>gxOWU-$q2```cG`@ry{fA`&0>|Z$P*W6O&%#2+uR;oqE zZ-!&VYN4_0RD$MPo7;b>d4Dq(j@Rweezj3AIL&YsN)+5uxmb59%@fUVBNY!yWq(H0 zAN8F=P^wm<>h7>R;*OqZ=G^gcI4A{WNBb$IJ}6`UFE{fu}w-=sF(RpI)YQz@1zOZhW(XHjd}y@(YU4@b+Tz^U8iq~C^)IcEsb za3)*t%?F#DG$S<|gb14MW#M=}qMW-n91#SY3x|M;)0}H8*x`g71ohHFBLJa^uxm?2 zpNKeGDBHe|m!MKO#1IMB)K;3|NNr^r#A!O=aK&C`1;C(2O?_Fg3nzg%Rc(Z$fxSdO zHQndA+uY}%OLsf^ajycUrtyC_{$Gv%*Pzc4)B?cGaIf76s&=ikvporRY7E#Z7_hTc zDLQAG5Dsc**)CO@?n}Z^d<#};5R|n9ceoDUoinv^sZa`tG*kB>9l1lR!H~^q3?a}bQE0t;g}c_Ba&JYYHH`&G_%Nrm9FB54wP)=p zB(h$T;#9Ls^=5bt*a2E!XSL^Y(lBd=FXI)bGuCrQ=7Oe8Nd1CBYR=7J96%3@W7ybB zb-U(jqcXhW<~oFzxMc-Z%dPr>r3s!TwE-XbR@cSFSOpkGPFoH}`>{b#F9;TlN$3Ih zI<5~T19I*r`68S=%*bo)uT}z3-%#f-OKR3h8+P6IDWm>*Jo4~)r z%HlE6ITK7w9I02&tXPZHx)r#NrIoPm;P!CJw+bX@XM*W+wP2SmKd=L5#%N6xotR*< zfR^mQ@*A~UwI29Z-B~L6Fp4mnmR%{bp~jvqt`)7tMui!1%l0kXS~_}Ue{A%TDUTr} zxIP|^1WWa5qt+r2}4!%y}rZsT4-T>jS zP%W+`0=l+dJ)QW&Fe%s8I&MLN6WZj`R2RJ2d5w31yVl-pdUU3>i5uqcW!fd@UK({d zf3Caa`t13#L-)%GC6mra&bVcrlWfpiKo=CHpkqhJAXm}yt z(7h09+Vnym*1Qn+=FFa-d&`{r%5Y!bY-Gxge3fUvl4H)x-($#G?uarWf3GvwX{+st zm1InRB%GlCp2kut`~~p+bLi}EBVl9H2W^1u=~Y8YtK5475&GVy)vH$N6zJ$q{Dd&t z+W^G6J&|MtvUzUWlVK?FDJpFxvLfG+Ea9? zw5NA%s)Ti=K)siBU}hT~>g`9pENayKLEm~&5`c8TPmW&nb}Gz=47Hy1q@5O8Dg~IVO%jH?W zW>b)EtX6k?%oQBwWV{P?$is79@E-0D06jF>Rd@_Z{v#2^mZ>wPv1emieVGO`2!A@0Li0 z&!MT~9eg(D6c1Dy%f}FNo0#CH=Do69j^{GRJ+<|L!}Sn`;u+^jR{y5 zM#7Dpl0m1OL7V)-n zrHaL)?ir)?+nZtkgUg8AYbcB0{i<*X>x8Z0-W*mcHqtM7zl24o0PA>K{47k+Vx-@w z)_PWpRv>BVN-cAQDJxP*YZWtcdY`$T@W`DQplogmbPrC&3U7mjd2Zn{4RhZ&`s?npSc*eI77APmiLA|F%>d8`T1 z!pRTVyN9r{$lj`A7=@lq(DB8wt)S;?1oDiIT#i^|TwA@Ct2J$XLTdImInuH@*@NyW zlUmO4kmXR(4(vFdVhz-L51I-`K?}AF>is@_WrWwhk5;ODP48^DUOe)s^4V~*QWY5Z z;uXPnufS94peZpJd(u7Laf0c#*2t}uV;r)eezKWp=$!!sMAH?IcLGqGsy62>Xzz?@ ziU_wejX*kPlIxgCrHZ8zGdm&Neb3$((PGN1HO26sx?zX4mz9T9V{Hpls#z;4Volv} z1A;e9cUe-Vl>+&+{E16# zTbt(nCtm3H3NO-D5l@wz(*>mCG{Z^xn71nhw_4YPr-Som zVjA^S2$|&342O}8Q7SeWm9&WfDW$b*naC+zIIA=}@lgvy zi1QY_fyRF;{TcC^REYTDJ<8wH^FvMVH{|=637CS!{{@u8BwjR6zO9X$VO=h+kxqGMNJsHKJ@-wOZ8d-tM+XD*ve&7^a;z6 zR;^yGIrU%#MqsY*)@F3*;3{ZIBoY4HIwOqL*(7Y#o6BwIYTNsiCMV&`l=hdHWHA5; zwQ=+{7QZ6KV(-7{9k$W=x5O%$I^X*enrNr=slUuh|GKC@ru44@Id!!duGdK?t(5sv zsm6Pv#*)=_2G!UKm!?pzK|ft96s}1~r-UzPb#_ci6ACBMhlr8l4O}0EFYM4J#4V<- zuEHSRBPf-qt~70R*)2}M@;~HAmH8mZ#fT<4>4g+~PN%Y`oz9s7xIqN2DUY!_(t(!P z2?rWNrI@EV&?CzZlJAh#s5j%i51jJegbuwwqNiV_r$3IK9>ddF@BQra1N2G6)%;?n z9ofu)Qq1~LkoVR~mHe_@J4ZV57y8$cF#!8llbd5Lo;OYT2Qk6yN>hFyR>_piR82|! z#bwfvK|SOn-Q#yh{V`3sE3PRgW7Lz%vgN%RkdH@A_N^~lp;JT7dk6aIMPF`B&~0%n zQ&naQ?ow;MxO2;`igOn<(eDb9byA!!mWmVbS{TMMRW3@X(-mlUg%#iaDV1-!B$F=cxK_zWDD_nJq*KHTr^4KMN~OkoK3JS$sd3qf&mHGMi(GxRI?CHFjr#mgzS;}Ni-W)Z>%*kH3a28%k^%kxX^NqF|&eXI*X(qIK;gsfc z6SRz=aI&6M(6{KxH-a|3=*bVGUaFpyOqQzg`E7x2)rNbaBpwlb?Bs$^?q^P))OV4N zYk9Av?Ng%ZY?|u^0QGnTR9Biy;vh5^WHGDe`ZAH3X|Au(6VqJm>AY#KdxFxklgB<; zY`UavJA)149_e3$neg?m$u^k{3U!e?=Yibs$E32W@WiU&G(S8wJVE`%1yY|NntD*I z-u-g~B-5_@;^B#nCh_EKBK}&9#fwuB$fWsOVN;{c`!)dYLC+-yUSl|>s=+wsQXRf1 zK^>aywyMQ_&_Lf64Ctg5UnCEz6+3l*VV%bYlS*DAS9+$WYz)y>sX%iia zw2BM~iK|eb5H`io?&1=+phK=cUrA3)eX^(Xraq6_3)lrYV88E{{a%O)TdARaVI}03Q_`NPyk= z3E)TH6$ZcBI|gs;9RqVn>)OLaTR7qg+`Vv)_|GLMaW3b{ez*d@#ScFY3ie>1ygx;~ zR0AZ2nzTF5YX@?xxw!=z`)(l$Z!C9oOu@-C><_>OS)Qc36#4ez8<`*lT}>JkB7`Gaj$E=BgD(T1g{6WT4rBYe&qv zL01!sb+Jn32uqz%P=9f8)ur6j=VC(fV+bkFP-52lFci&&P6vEJDhYB~(g72&Gge^q z9Kc9gThjyOPfB@CcYrZN4om`!M!;-e-=d!6V_lTcYJ%I+wisNP#NQN&_NS64)ggNY zlVnr$+e@-=$gX3RVh)+m2nm>t>OYY~Cci5T?&%$aR}Tt<4TdU9z$2jmu!+4@IQhNf zR2>vfTO!$`ql>O5Z7f98aQ8PD#aIc#%zUdbdt>jIy@6qd%<;`pCOGB!*@2OR8?L@y z0)Z#h@o%Me9ImdmE;_!As%-N_zc@vwRAC3lX{(<@5m|sV|DwA5qx3GZrn+c1%0d2= zU2ZsL_ZYT(FKOP#xkkZj8&x`>jwM*VSBJ`Ud%7Hb-BuEli3HVm!6p;lPGFxrZBSsg zOdFno`RsbyAd{Y{CoyMWy~?C#dQYyXw(sRIq~wRfL?_Mx^rYv(Z`Bv6@`GS$SNTMc*eTxLe$S3WGmP zo2_^rN1hTntlVw*L@)HmsxDH}6ntn=*oq4KIApBa2x^U>r2%S2Yk-$BYYJTR(dlBj z{YVR!l|NY?0B?d$uCr4(^ug2 zm$19a%H1U2>}M~~41Zva*sMibV2Pc>b{o!*w4%l)Ec_F^AShiMhfbFBwQ99&p9Z(XbK{cmvwR*z!)k(PS>2=Uc z?0RoN;WN_{K6fSIbA4Z`NFvo|D+;r{Jz;iF5@xUHQ%g$R`ff*IcWY1Bolw|~)Ar3p ztaUTXMTSPRqGB7|czAKFOdiKRFKY$E`AB6CR{ux(n$eC)@ORNxDHcsfhoZgg|BweIXjs=@k7}a-um! z$!Cy0HAJY77&y*p=ZD_vr_A@a2z&>3x8bkSZYHFozpD2|VA0l05|ptuVMz~8qOSHq zUYXQvPIm>RPcCENMojeLr0P<_l7CdP@`+Sg$+V9A(WoglyK>^|$QLJJ#NaezfGOpS za8vto2*4!&sPO(`1Z?Kj=P#gY=GEuVW~wB@EeRC8VBwZ<>ady&r;dl@n2f@uB_{J> z(5CB{3=6>Uz34wey`-gF0bMgp7Jj+1yS+<`@Y zEc^Km=s=nH#Zq;7Rw}JtswzC5*ApJ4Hh3Jr5@$)x&(BZXs4*+L`y@&ACYLnkqq(j7 zjS$YRtvjrlnVIc9RNb9gmCp=wTW@D!AuGL~SmCH;_=Qp&a|Rl_c9@~4-P<_}$;)1c zt@nr>EhC_%A4e6gnHQJCSnN@;ZKf^T=q8qzA}AieBt@KlK|k+iySaBz6WhET{y-G1 z<9mp8$u#YiaZf(*+cDNX`M~e&u%3M2JzX)crTXp;)df#bPqHv;1+9lnj8vQnlY8LyDY|FD`weP=XCF)&u)t+dbbMQ^A5(s!Q$R;?n-t+?p1XiK zEZw!>J&H!soKDT@(yv?a-i3PFF`z@N2lL7W{o*J0W;!dJFRjt-P;?teX%QOyVO*<# zL{M$rff!8Zd@^T$6F?+-lG+W|?9h+PN+I*4B(u&iSJC$)L^)31F^YLh4W;%Pg=ej4?9Bdqr!R3&w0TyYKP_EIBNM_&#E&b z3bBDMhG6WiQgCa>Q^#SJz3o4SJn;aTg}o$OvDrcfbmmDebMlL*bb( z6=9y6N|@A)s!LEcP2Zcjfg+=7Gpl4qQ-;{dmc&965%nGj@GlDRUA+T7Jt)9qIWesm zBoqKDv9}7RgT3Q)U{E-%zLJa7+jVDHyaeocQt;a8@V*C4v>Z7m(v(gN3f?U-C35}L zlo&KdByKWRjFkaCE$^zf($(denNbe<$hN74E>6}_4&+!!a()exj_QsVa(>gr3;eZ6%qC*J>#*Tx?j+f0D6b!)H-9+PXK=vYa@bRGIshpzt%m zua}_kcfr%tpm5BMkHM4v*b1T4Bz)r|SdAZZlz z?Y#jtgjY>S_bO@CL)R}fxs$i7-UmE?B!-F};ywOC#Mh2d_!e>AD$Bm5Grd|v+ai9= zZ^lf_T$=#?N7$XeR;}u@R07pl|bWYm(b ztd8RATGUwsTQ*C(f00Lb3@udaMW;^5V5%4$A>#uEy8G4+aEJ``6qQScTR%C1i(F2^;U6vWRbuYOp!#gHZi?aQpaOYget(XOUJ86LI90-o&Tv79E>LYK3%% zVI+~C%4X`hn{b1{G0fSi5+2zUzg-Pu;&0{lRaU4Lj|Nz5J3+geF{j zw->H`%CQz2=#FkT(E0&#BC(8;a7D83#N0uvST7+}*jlhDGgqs?=vONG1RO3|qm#U> z1qTVk4P2y*MOT1@>zHu`_yjtduauVk86SzslykjoSL`K+OvU_+bu-proip|_EX@v{ zZd|d@?M?fSR8ON{)#C(lQGMmC0;cWSo;f&o$FZY#9zHO4EPw2-BM0(x2lHt4_E#S` zIzKZ(-4@oN+@4~ov`$f;QY8^%I<`#xO0qQ}kJzM*l@P7S$=4X&a=Q(&9m0c7 zc&}86w30Qb3juJ(^sO%(W>R6Jq~Ld(j}^BhffOU4jnAi+%OFy|U}3 z8GebHzPx@-Z$nMabb76>6i7Z&2U&cohoDIAVcJex=z2-k;V-esUQxln+!Oo{C&9l5 z5~#K@Wl%;EkKP+l_}teMKEINH&+%`;Wm99DhfRN`C4Y*wB$LA&G6z=wjPn(J5$|kl zP$9u%GAISuv5!SU2RClvVpDA|i!h-<*a3E;g29YqWGSGU7A&D=|+x4R7~QtE1e{a#;Gy7yfA92%5y^0g0k>4AqZ zK`DoS^;6-Wb;&iHH=-D;oLCL9@K4%PvY?|&F>0;5lYfiA$ zc3hVnMYO~+_=6#mhlDCCHV>_a5=og-jvi&nOVO+{`mPA^rA&mNiRJ%@YOsmr+hY^U z@NT&w6B{AL)=aqJHf|!ZPr_fvj0Uqm8AiJqsU$R=o3JtS;i*>KrDuV$8jrQbf{bdD z$2srHI;YquE_^$pX%_GNx4@03Q8O)ALSbwz*^8=31{&fxDu^GGNbPldp?tgd4}gM% zF@0Ew^Z#TpT8K1O&&_I`GdnI`Co?-Pp(mEv!JfLy?BF!+XCufRGS8=-}1nlBa3H${LZ4fNDpiyKijZKNlz zweDq=OoUWUMTT69dwU1`_@DsKl9v#q!<)81TN@O-gIm-N)3Hfg)P9&@(^VeA+tYhV zqnYTX`$g?PNbjqMMQsj(X-f3zSIYS4wvt%XPS7?NZc$r5H9lqqw1pCK1H@{!f}X1& zg}k>7OzCAc`?IK*x|%JOzg))FPmMQ$Ze72ACtQ{(AuS!(uXnTc>xxLyR|~FPtX%g} zRVnr_r^>S~hx*j<-vhUQjBryi*5ik>EyH5XnpU6F+cp%fL1TeAww#^R30om*zm7c-?VeH#)Y0;IKkL{MFR`1V11e%Bd;Ion zgk|g7Nm&1kv}#tSM!`3G8U^oeGYST^7XC~Os-D-vht_9U3m>7v{pS6zK_h8SpQhrC z4HcVE@0_oNQ+$GG8=t_n({}GO`J58CNL>rRDwVMD&M9P(i)ygx!DF$I1RDmo z_Rg!Af`1b33^f$QhkAnegGmrS{?i~vl9)do$S6MF)f1opB;vF3!s8o=V-Y+OW~t9~ z#YA;Ms_#S+wJS1UDW;%``V7CWBN(GB7TK*T!UU91cR741PG0!So>@ zg2!?uC?xoudiUL39`nb*m2V4tjGkEVm_41Z;PG8<)eq#^3e z(Y*G+nS#SI%V({FiwKYMgZ>hMUu(j_DG$x!%S9DZ`-r`(-FJ7a_*$!7QzCPY*y=>8Bhnx+`04V zi8*)d>3lhNcQd7Qj=Z};9Qi;xQ-asly`wSG)uE7+F?5q0ybVSfIjCcAmAr?k@}9}X zdpK%}4f@Xv#>Go$^}@M$R;z)VG3lM`<0&Lse7x6#YQ6Y)AD|JJ=Hta!E}gu@J*~Q! zwt9J=fvS2?FgMZ5(_DZ<`>8GF<%y+6%U+}%LygL`RP(fFhq)ODY4YR!Ujs!2Z& zPok$w@V(|&<9 zK0lRs>+5csUxa+Vm$wB>d5#Iz-QI&a$YPKfWBQZR63dFw!w zC4;PgU3o=>q;sagHo_rS6;Ie;jO^9AU2qoc!pX!af z68&OaiC&h5f$*}8Bf-XG1@@zv*=hcU^i=giA?HO9B{?6dsi}*onl_daQ|}g7B{Ma3 zRB$T+2jeH85Peq|{BrLY{NkW67>~p(0f*R+z(RYY@OXRgc>H?rc$hj(SDz;PL=t3z z0ADzJos>@)4d`TZt>AAl*M~sFUd;8!Q7?4@q;!h3)|V$+YoV#x>9pFleP4v_IxK{v zld;}=0FCr(tNUw2N%Ut0(Ah2p{|BJ^Um|q7n%GF{2vZHUYKnE|2-5#1CNfj~6g@Fh z&7RJisXo5s1bK0b%Ydgghx@nI8gOk5HXl))x0$?DYb=M8*iV&;P7!y~!OL8Pv2ML# zdul4tc(2piVQLqe)p(~Qan)p+)0oMG|1c72X2PF{oA4{T!-xT#GwtA()~X5Sq+Kas zpY)R=!lkK1NHz6aP&Kou-^ePNC~gvKHvIPVHb*wbZsiqW_1Ig5*G%ttUCBZ0=D5ba z>Aj?FlMuZa+a%f^*LZ7sKRs-b;N6=VvAv-e$F*|ibz4bz2MJ^2!g&WtQ(|3XBs&NS zg%$_ldl>n>I0&x=M^haHLupALAt}VGf!{i(e*$*%Uxac>bQAQGX|^Bb7aZt!iPGY# zI8z-9;&O3SYSs)j)X;n&RhV@l)b~ex8JOHJYNl^>PR$tpwM?DUa^ahz8cer;6=c*; z&kFx-tAdtE!#L83XA9iiD3`4{TOFe%38}8##l17WuU8aBtgY;qt$Z=ucdLyuc52|H zKswIPDJC2+w6`CCBxn0;L^1na5%rR$lI@uNBHq zM<)dclN)_kO#WOZ0??rPOjLsns;Af z-NPMOYD=leR!JfMWQ0l<3I7_1@MY9YbD(0}rz(1qMoa*n>Pi4)&V}H= z{HiFhdQ+Ms9UtSw{(p^V#@PRKoc-+(k_%$qIEe41+MMFPs>&O#UT^e z_*W5Hl9u#D6YO?vxzq>k$(Zlmg{#rz(K!72Q13O`tFU;^z=?yB^NM=M$In&AQs~cJ z2TDAimqk4E%U-_;Nx2l2AsvB6m6i)$aqkOH(UA#j#s;!H1hYU-ECj=zx(mU?-F4a-5x0{Qb`aD{3ylC-W=6i+6F3B4 zyV~PuHr#(WY}7v72KQm+XP8$gdGAAZtamy>{Y->9d+LPxd$6xnM%NU*LlaN!YC5ls z_I1qNx`y`i6VMJPm#f7_*_mc*e%Mf~jF0?@PTCBxC{I6KeWI!50lMq8);H*6$+`34 zOr(T8@8`nx@(sXnnsXtpoDKrmA-@@JE>;VTpj7r}7VC^g zMVvMND!bf({6#0yP0oemOHRdMXOyGS{ zM((f9Q(_E{(g0ZWB`VO=g}qo`cWTvokS{x@oO1KfnsCCk%hA{2a5GzYq|DuhFAEKa z!$oJIv4r+Ep0?{1P$`dg9eWvXv_+AJ!;Pg%tq~yAqfjlPR5KiJ1dG#qru`D0FEfA4 zJN0_Co`)Y$EIV~jm_RKA&2W-$<#43lI zh$TJ<<$^?IL^PY>hO%8*Y9P@W6fffY8mH0>FRIhY^u>J9sX3J*x+yWjj$k<9V0EHM zshF?f;IGmd#9YITb|a|f)vIt#3F5S&*jTPX_=U)Uu(FwUtM%6eYj{5dr0>918BO;d&tB zL-=vAX0?Li8$_`@o%8EAPc*|z=?R@+Xi^#QhFU8&ABGvXPe)%NqMK)|{F;*pZM~PjBe7^sOGPb&10C_wCs1%sn3+0V3GBK0l(7?mdogD zJg^rqii&~TJTw+w4w+oeN5eBZ&MoiPNJ7qroBWkZV4ummr6sqF|B&CIa+O4Xy}xW@ zpuM(%aqWXp7qRdBYrb5?x&NHBmt*1tcqloF4N6d%kr1^{Hfrc%BcS64V{$!k7Se-r zlPimm0jU_akgD(-3$b#gWfIJ5>In_kYX*kB!3C1r(u~aFRFgSvIfaCHU7#0Z5 zW&j1z3ZPHX1`hM}oA)=vEyi0qy_~&9Ym3pB5gI~8_I{LJ^5>lQX0o-9(8t5{@gRM? z3kKDDCq4`tIw#KPn^WoTa|j>u{OGwxI8M#d&SL6>H++^gdX_bK*84u%KI{Dp`+SCd z{(wFk?p0KtV1TKd$HAo|9Ajl2hJ_2f9R=O1U|r`~2vVPEg~KHuM!NYhO(K6xZSi{# zhum%40K=&!b|@8I1{?ni+>K1v^dNgvnXjCk)l`gjL@yqiA8hVZe0 zKHf+lZ>EoL)5ky4$8k77-U<46hCY5wA1?JlXOMYxg|lAV0gB$$=gG>#)QL>!Q>}$g`=P^?#N8Z?Qu#HUagd@(%TkFdRL&f zB;v-dh}ZxTsWFc(vGpFJk5nSwCd84MSD0oxah_$u;Y|3NTZaw89ujd-XV63TUFYl3tx6upC8-`*@#1tcpclz3j0c4QCcK(LEG+B-tF8vKJ z2Xh8#-tGhA1w zmdo5QW5P1JU%Y=S44L;ypnhnB|6ubd{32YS01r#3Z0b0dK2)Y}!iiI*0{knh1V5_; zm~j>?nR9l@$gH(hO~$uIdV5!=S_s#xdWhN2XuPo4hw`JzauXo@|q~W2{9I=Ke5PCeBueIbjY}GH4uUzIr183cgNfcri%t5--}NKs z*R~cATsR32x#C=h-A$3uHY!|fBZ=*+4JFl2XQtZMx~1A0A=TMEIoh^J&Z9>zOuAT4 zbuuwq>5O(|lCJ7ho=g&I#Ej9%7CGd)TPxh=twjxe8qs2m$nj}4MqK%|j{nCr5tBy; ziMazEg_dfHuIz;KRT03olx}b zq14{Yl)APPrN~|Go>HIGC^d$fnoXf&A5tlGp2pp)Gt=l;CmPYTpnDp9Rily2;1JS8 z2}P+iIj5N~4s_b`X@JERj@7ZSSORw({_tQcxWyB&48NNH38YK$@N`9C!|w2;g%@2ug}lIbOv5WR$*;0l2wu`EDVN(z$Su4V8v@qG^gBP)NM3s#i?ckf+oQ(EavMZ z#Nk}Yt=DlAQVJF^MuG*^BduVldSnxX)AEAFWp|c6fDUR_^_M9(cMyzI(Pl8*aA)YJ zR^iOTxrNivWMKo^DO>DLeGzyh+ zyW7;4^(^nh&HV^ytX7A1WUiZ!4q2VlAw>F0JhZHEUSVNjePK5WEoe?b!xwW&%i$=; zQ~RzRhDO$kQk|-9vDOMMMR!2f&v)AQa@;U$1()!Gn^Kl53{5mzE;027nyHCG2IBxY zFoI#@&eYs$!5EdndAn**Ug|BUQE>{Ddc!dk&yi@rN50eb<6^9Wj69buC!_t?AgZTC z7c7y~gYKmq4`l~r3ajLeVC5brUS~(8+<^4!lE%n=O-!?UVn{D)hF&aBCT4htfD?v* zPN2T)#_vzp_tC&)*YPeI)l3UB>Dy3|_>g9}%1LUE0FGOCT;85Nbjc40Nkgd2NHElx zsa2ZQh&GY;FbrKwscK751DSv#@=ntV9&K2oEcr04Q3nuSi(3B~hs+ycU)=hFS zJWDoM_^QCAHBtJcV})+|*Y*&VDQwpM5roz9OxK3GiTt0hB$->~{}isYT$t~gE(}#| zyD$$JE=*xpYPYd)^+e&CV0+))$dHm8o!@+fWS-BLG31=WkhVWxHapjAYbvNK$rAsk z@Sy%VsY~hM$I$OzKx6-;l#R_ji~+W_S9p~sz4r0h3x zQe7dYe@TblYXh484wOrSn}ugM5WXNK5Qe#@5&zqRg8oHJycQ6$dnOVjj|yO+e-m{y zn^5{=9r{ZkqJIHzxIHMI-@T(KVK7Y*4SWS6o=tGOoP_&J1Bf3%Jl+;efWe@ z0Ka8uc$7)lMnk%1!b9>nAvAm^mEdT2KdUg=m4bih-^UwnkA`~Pw4}A*09VX%J9|{)HOuvQrCk*`m#M6Hj_9=r?jM$1( zs+4DVM8OSD1Rp`^zX+E$9|}h1W=rGss!OXIOR6=mjv$N2CRqO+Wo6_G!a}S^ldNO* zt_-c4w?vek=pRKbX7G;UX94;?r?+<{a+~+VbSHaAmkz2 zy>2@ZE4-!fR$>OxIis52G~@idi{k=xg||y4gVQMHb|a5udHJ2?=InkfR*a5vQ}Yh_ zoCpg2FZ+9@r>Kz(JNXX!3li@q@+9l{v`tu=Nm5qLTOwje?I%QPh;tL}I<^glorGO9 zD!7xdIzpe}BV3a>db;xwu3|mfe%!V55%!^6FFwMRDW^+O{(nPVgqU$lVI%)aCScn| zpnK_DgglktF2XieVf!8<`H+h+&Kqv)B6NrvQ#Dhlrje>SZCs>9k&CrdA1teXSr_%e zxC)qPUtie1`e(;f?0*;LBF>)rXT&^hnpFQMDCz%{+zJp5D{7bw|8x}Q%YgerDAsnV z+FH*Xs$;PMD=ESC5%qR5#j?YfD^o6WZfFJl4=!uT(_mSwdd>?LA;BWLPL{zE?+W@Q zTQ6euzJUY?W9=Y_K{3KNDz%K2qSOsq^VjRcLBdjg+#>IooYSW+r@fI+P`9?7*k^*J zU~Ut=>CrAMz+?+j8Y?5WmgK%Rdim}he2 zdc>9#jkF)R%-z-}q-uZ2nU>Yb7EDi>z%0X;YZm3*h8yNnB#-#NLRG;qWWn-B{9n^o zCV1ofaJj;hA&v&i#3f%*I~uGkR|E%jaf|4CpWsts(0VZ#d%_<7T}0FMMtDRn%w<>) zIe?#ZCK|ZY$HZT>4#hBXEh50>tFB!1hHAYj?`%lAkIP?KulERb(sh^ z-;tPwD_zO?p-OB^AIv}83L7*(Lq%XR@h7acZEc$WEMDkL)f_{mOmoWrxGC7wcq(u! zbvZ487b=osQO*A>=<`2^kItAI!`&AR?)C#iV3R z1PGLFCwZLfYhHL)8Fu0nJi+aR|4kCkw<5y%F75#Fzej(D{O{94)F1v2_OvMl^3Sa^!dRV6 z!V0sx%mxnI{<9%SsVBiD8vP|FX$$~DZJd3hi(eP&Vt<3#U>nSTOQ?{o7yc#qxgF?J zd#OSHLDe1u{f!W(35&rpQ*_cw**7&bzE@Qi57#N6F-n&KD6eKxAWy6dK;cM2m=ZiY z>g?E>CIBbahX{${k2xL%&*@Mn)GY*88!?DqBP10IR|ZMnMmo@vJK;b>sdVQV4)oBhhpc7fgPYa(3(=PUE&5nQ zAK#{r#p-GZS4aI}_PK;UNw|hz%+P_&3@A6Z4}iR*S}bR0-Rd#I$Uo>GBSQrC50k4y zH6AyloVSP@Z)ps>LdqqfLbhfmA|+7R^$(^oMD`D;&yA@y z6B32=MlG-Fq?m#dPhx-5x>-!r%~Y7;sj3*_ZDrxLH7q1TZ@fVKUaf@ed1E#jtPHWo zsg^NeRjivLEUZdlb~%qax?}FU6mv;c7>C z@8N}xq$+fn7mCW;zXNb5=P1W@rXQRagV1qW86OSMtVE&#lVG+7W90ue$|V|`*nuGp zPNq9{qDE&cRA7qwr(JNt@YXNip3gh3BT>#dTqx!WPO*+q>Y>U(FOM5unYr`y+6wM- zef9FnmG7elt?M5V63V;FfMXmYumFyd;4|QcF6TY5Vcm6OtRF5V=Z|Q$OTF_iMpq2E*wt}EuG{Hd$1FA&z}xEd%Hm*yxO@9YFq^*qk!+P+p@56bF%RVK z4QXXp;fVvGLbgFo3{OydVTCkx-^M|)dUw5QkD=>}!r_S(w(#U^B79qq#geKp&SOr6 z{88HUX!EZ|J3ZiBY~VG-W1_nl=3K(zIWcf(*Bgb!7Xg8;74qr?i|5G51XYUnkLB=< zi|lswtnRW061&V)Au}$q6U4t#5pU~hsEl;{B(DNKp=`QCyNgS_1r2ied@Efs_+(ed z4Lz<%G={i7x$tADUOnX^ah#~Yoz*Ko0`O>C@Tv1pKcfa06hsShRUR4N#F zzp9Es)HPuTaJfaSa997xbPe_s+qSy>nm>X%h)-wuK`e)4M0m z5kEZ!#JQfw`{A1Sh#&qgNU#U{f5 z+X?3CQ7=4vU#r_%P@dik-wmS95G9kwjNye#9)uYIAlN!5673S!37{d-pH;9!PCW2U`N7=;$u_C=OW=(UuqV+|JR(92iR`#aL0CN4Vz1rSU#pxr_ zuiuxQ`_1x;ygSZP@$9Ly^Nt`a8!)LvM{OwF`0SWE(LQSC7c zOUW@OI)(4BA}P-LX40ha#c*e?n)tU;Q{0V-sE0Jd@7jCC730j-Lyr=WK3@!v~jMc`9pt!p)Tf2d-6=yvx?)w@wgk|{L0 z%iOld{}{?8zfxsxK3LdAJ5X@#za|(GoS-9UHwlIV^!5=6DhW^Md3ukQcIw-U=N}gQ zW6@9V=agof1R>cpMYQz4BwCl|J<0(BJbX-WwSj@5W{9xty8C6 z6$n){ricnn4`pBR?&~Tga;d6Ih0#nb#akCr05Vc!+|m8?%fx<4H9LG-RmF60e|UD- z+wwq6ttSkkgEQK9r~w58p(3eTQy)R@ry#Dbk(+@7&#QjcumbPs20UiB%X!IJZHbOf zO!i{{{#f*5EZiGda?ws2U~FE3olRLVOeQ&2rrGUq!%`D_D5*7e6Zkj%xbBeUW-xZX zD4B%l)OR9xN6JB9D)c#azK}4vxr(}qO>TD56`S0!t4gso@%G;Ncx&%`*l1?DWOnz7 z@L-GrpEyH&dRt71x5JwFh#kHO670nee;VavcrY?s4K$iaGkj({lA~7mRv4>Wgids_ z!WZrYzV~8;(-+hV`!9mHbl&~#VC(-Vwi4~Ow82se!Uh91ZLRGbVEiF<6SKij(G|17 z?CQAL;G3{_d{%66Jjlt&?vzVaVf{16YHNx4XzBcd)=5TX8NOY9tkqp=Jjd`7kZ9f0 zIySl_$&k4_i8Qa&5X78e=K*nOP+ zY$S#AUuc_jQ8JtYKDt+CpsUjf%v+j)N*V_IS$g_h-={x37KV|esfgVp-I&v^<4E9S z>W$h4XVWHUKlZ$5Td>s}Bu`^IHcl$$U$w>SUY!W=`fC z7@6%KH6x{bBaWD3S@G{>vxbg$@5z34z^4vCqn1uBGl^Q_J0S#So2Mb%$tTeA}&t7?kiUmtY04 zfCal)$J~`$6s-pot?a53t%J&4G54twTSWJhzS74&RdR#selu8ZGV;Adof&c!aYP{P zIWUd)9;)#})*YNOLEW~YlKkKL|slqZN~`EFg?oQX==le1=PZ3IGF%O2?3#+TC<#w=9P+Jwcq=cQt3f=$*5lGS0B`;A*vtA?;D+ zHmv>Qg8ADd5xCL~kBr(lZ$ox4zY=|6ewd1!>x*`A`dzWiPK!0(++U=`0;c&F-Q=0c zO=3TQX}4Kw(DH24vzy1T<@=y#>p0A?ad)#qr_!>`flfE6vfZBccElQe-4+r-(HQ7E zVRH`u%}|2)35F&!GQlXIP}dU-nH5Ma$*e%SmRW&xO@6bH6m7vZ;4GuES%EWyoc>D2YhjAkI~|D-|JhuEOoA1oNHlX7SIZQ#hOR zV3v(5BlvgVY(&^*^{JoPVtKkk8&^+P%sm3H#rF;4*5RM@$mpmB#V zXM{TReRPz&#Z5pM{9)QCnD0Tt!pctOdTd34R_Kp|3?l1cM?Fl3gI1c2YO@ikfTGhz z1^g+yq~JBHP6f^Ez?L?2{3iFDtAOIs z(3z1iatJmYuXh&5x>foQ~3!;*r zr<$$e)Kw=FiUXhlI*pYiY%VF(oo1a+<*6lI7dL@M4B&D@H0jhunyEf&&;zulv^>ro zZ#O_|7$0Sn#F)@Yv71t9vE(9UDNXskJyG6>qkNY&Mk3>(+W{q68dP!CPa zxAr>dC3n47p!s=IPyEcq@w2TjD3VO|S&QcE9X)aO;yBJ;*e6O#-ukXbbN9iXxcfuR z-AI6~$EUGR1G8LYXbdZ=mO)PrJ(DdqyjkPHU{XQ$VDVq!HIp4JyDma*uGRF-$EIo7 zS;wk+-G`5*=|le?>1pnjy%gQ}IecY~(5UVrqhmx5YMZb`N>uWvZ)l3Xm4+e}t0r=u zWaQXWvXIU4zfQGF%G*z2$Tj~AJ*t`ghc0UWJ6?Ol815dN^B_ex$SSq)hnDjBhg`-? z6s8jX%hZrgmS{;!lzay1Q$vONcqzq|ht+2dAF781$vxU(zmdD!@K*`GRk7LC zE5gg1C&zKb=(J;i3C~&KruNSv02BYC=6k0iHqJ>-40diu(bU1tZK(>0a7&CtPguAm zSl{hyu=ULrA>^B|k9V=^r4!{7Hgh;lL?EiU>W#4EpC2HwymL(zrdR{-}iXuPW+ z&+dIMS4y%g1aJkS##547Rq!1*{HZE|vQ^h%?%va(0w zpf~TY{e+inXM7W2icmAWooroDFD6ZgI;)OAnX`{s>EmV3CX&WjY^(xJHM z6O@x(n6`k?LaL6`Jwx&|*Tob4L*-BYi8Y}7S-6dAKg_eC?4vcFznkGKLYMf(7VhL2 zNYc&IPH;B*AfZmp&PPJ*bmtzw7VLb0DOTe1zTqBIkyvP42s~j}m+{|-DwSB;j*Z9K zl1$2fN%GjZ*c=;=G8XJ+=c^HkD=nvQBsO|ka-)|<8|_YQ9&9JHi*EE_NJ{kzc2OV; zGCnzGfzjkfb)PGe-dtf+7d7~MCd8l44h~L@Z-Lt}tlE;EbRUyX9cehZ6O3oK9Ao2!`^nh6VuKdz z68?xK&kF`2&-FdZ^OFAMImCHtBgpPX$wSsCNh~81<)p(Zq9K@`*~L1)Fm^L|=UIKX z&=t$-V^^Ir<=C8<1z|8B?k7xeo27~ajt|_>e|*3quWev}Pk=hVI(EBNT?SFgYRNsq zjtsy%-0YQZSah8?u+cexBlcs*OAF0eETFNszMXB(`t^AA8z-pC?`ATc6-WpTbb)N4 zyBgQ3P=W+pOOqj8QdP0g!Ry1JgX;&$yRf`gcGWVo0rr5MRu%mnfM?&-g1KLDlRCEW zauiL1`Pf9NKVpUKAj%^4nh15F&4|7a2KX0E_@DPq_!|aAcqkPn%0bKnU?p@{^Yk~p z^YorU@ihN@u2M@(A6VQ3?YPqPem9fbwp-Y(sJ@NnIvdvAQfV z8Sk>>wtDC`PC`%J)@>mX5{|KyCoUvxrag(}7JE+CGNvW88YlLC(o95R!7~`Ty~Kj= zLZ2qafWAqa|)&NuAD}tO>9)XDAaoedI--Z zD!hp=G`W*o<-GxX`l2MvLtNTB)-P0=H!RKIR~ZjJJ!OStQ36t0lZ(6)#9u6HCuR-kc0pk`t`L>PE2H zAX`>Tdvqavj$UZ3)biN73prr=F*^0A4jPbshj=E=J))M>bMcf5Og(T;I$_BJmjAyK zm)6#o^rWqCYNM^edL8_cafi6zZ>MO{(GXQewCL>4^%~KQ2dN?+G&(ho5G&U4P^eWq z_Ncb%OpYDB7L_DTDh!aeVn=U5xjth@@hfm<2x$rWjbs}RN3=twx7q!ikVw2}du>MT zpuoRqCHruqV8e}5^6&>#2{uQ4JD}f;X&<4+oVO^^q`S&XsgM`0%v-@w|yE8j+Z5FlOaLdkp zlVhXQY!23?GHcYy?I~7BYp_I+M=Zy5(w_d6bZb2URL?%wrY%aR1G3tsRoe(n`+?^%nq=e_&{5@N!|=;V-#JUr^Kk ze|w_;FXQOn3Jugz$P{2C`RKg@&Chpw;^&bVeh&NqE}I_PJZ$=Vl>8k=Nr5iTf%(7h z`Lel)_jG7bA+KX)qu9WU`ZaIbt9dy2+DH`+&S+=;)B^KqZEUX*RGYUVDX10#R{vK- z;kiB$$`&Da48VvR#DoRl{~8Uc_48uFmzRLq<+28&#p?pax4 z>fWVyveoucl$8-Ju?+t9069Yf%JQx2<^x0$rj)~c&p|b-RNu8AcBc{qO)RfgCD_FB zL!pUfaGQJ&6YoEYH!|UdyV%;+JqUjtGaAhPWEgE1GDv7TH|k>M!!xY7OJAqyXO+j= zC<%lf5!$SBWjWlkz zSIQ6hyFdjgWAd;N+wsd_v`}fRp4-JbXLh^{&GF2Rm(vx?>|j^jWp;2G_mkLhqs;T^ z=cr#1zeo62yz!CtP?DI0aFMHH?}((|@!*_yPUYAv_%mm%GKT|68``$ndmUNn88UB3 z1P|p`t@Lk1-wh}s<8`VkhDjd-CRuyjtnZQ$?pfQZ33l21Zn2|{{~&@Wi|T>bY|jewgi8*0^8(m>xe-Cf9 zV7UNK@Wq@)lNP4AyN572mP}}Iz<66otwCdfIkcP|*9a@l-1WFRHjb*7rt|`}S|0Cb z9b57xUZUv0ikQhBxFMZj+4^=I*S{C7o|WlQaBEMa;D5In1%p}(p9xXb^IG`bR8hBU z;q_3fJ*|aTP)U;0XF$BQ7Jd)P9rLwticgSi!xOl6X!mKmpA!NXiEH7nPZVspaSB;H zq)M>q!RJCD3zi{d&JdE;!Z{dpwFs^r)$=92E)!kU{B2v)+?-NmGMJdUoW_@TsE&-A zK83qpu3~;3D)2DVQ)3l#L+4dY(SMTe6eTppAMAlNQf7%~Ch*dmm0RuToqrYc=Z(Of^fg83?Q<${*Jl*@8>zS_NdCGi z!65ldAxQ2m?&=_lEZo6k9Ys#lRF6^QE}PIg__UH~8g%?JdgDhZndD}KbdZY34h-wy z@Ma6E6)ffAUzjC;{u(H>7prPn4L`=*E-ip!-oWg`KA& zvQJGz8!Rg3FS^h+^b~EN0}d&t!SFbxHVS+FgtGQY$~m;pEh6Dr%2s~W5_lw)1V}X> zRwbBfemkt1m+zd*c`UPh+_`od;n5lF3<_;Dhdf7vx>K$+9QTl0WV=m=lM?(7QA<2X z)JLV7*N-U5)AaUt!1D)CGDUAw5h*6Cw})!HJM3f?eYbsge_M68?WKig>T=Hq3EVU*j!9)GH;VuSwsgK_aV(r{h5fW@ay9t4&%1Zn<2xEgN*$M8&ELzG= z04)YaTAjjonx`m7|P)-tVOHzYm^?Qag2WqhF_%^wijhX2rJ!EDIbBBQ24ZH`Ipp@3@!f$T`{y|SH}%4 zZ-V;H6&nKw%iRM3OGa7$Sb3ge(wob%7vYeriYvTejO^8#oAajJ+`-r=w6lu>%&6HI~nUMcA}DgZFPT@XpO!iQKL;=GqWRq4t6gWC6knzmM+A^ zMoLGRYQUeVh zW9Tqm5mpb~)qK6NcfMZ7N$h6tzekc=NqS8}v|_y`(RRDW49NslkX}{l9mh; zGlqYas&QH_d`6WZY~M2v@3vaoX9X{fBDBmJ-j7H#ljg2wspL$!dLJz*NqyWd&YP*% z&4S_)XC3=x9bXNv7b?vXUe&;B8nmCEmyg+D=!$*_l18(?N_20pIw@%e)26rg%%2a* zFGErDRhZyP%TV+nE6Lnd9V^1IB~0u%v!tEijol)i)f1BoHIwZzl{{Mg);1T6R7umN zWef2ag%;xF&H~1=tQS%quQzYFloSbD4OI) zg*1Sbk)n%ez?P5(#HV6}lwhbkC6LJ%LI>nmErfC^A&?3jR3(@Sj7C(Tu+vJ$u*WTS zVWR{LZJ%g`4vK+uyYSO&1%Hu3gjWE|0xoHBPgKE<*OrTZfKjFZ{@)wBXY=zz{m&Y= zg8VTfCrk=bBh7{n9IJ+<;vc&Pw0``t>g_HDiE-NNo~1NS?qlP`f5H$;6-P();;BPt>?m?hiAI!9za4|aJ(=25z05gB&XT|_4Az0->l zVUs!PHX60!RI`DkGb?>r>DGNbn8rdTqC$zZHp+%&6C#w``g2R8`-H}A`P5S-wIN}4C~ zQc0QXG-lL@-BfFbir5U!ErjS=XwbDF$vy`|^-8mbDhj)4!ZJTtk!#kl!yFR(`TdDt znY;rsyw*g3gQpt}7^8YCSe>urnvG(qJ~myW71VMbThHI@mYUGN2U}vpwv`jX$c$I^ z*p}reKa$51D-vL5tN5~%H!DwtF^~PbZb2|wa7*(3b&G@5Y(bJTdYg6eH100WdsEFBRJ`J_ zTPs6cSv26ev$$g{mOK!wD3+_u22wzBl{}tm1tZPI^ro$w>P1|ywSUZdwOXZ?g;$U- zc{PZdXwEfS!Aky$pHa(VR!b{5JM>Ga3V+?nc)@lBuUFF`ORu$m2o(-iQQy=du>xdO zLZq`5EHAm`nI;mTA^JSNFYwB(;G`PuSf9`4y(&}$%@mo0hxmrJB#~l1Tg8T8#W}=c zgB5PGQOW9C!Ga?6YI(jnTg504x(C6s8!XC-ZIr1GSF$@;xhmI55A>~S-D~D6*|}NL zs#Q3Gjgkk=l1yE4jqIT!w!^Q~sIDw>s9YSS2}bA~HryJPW1_G-SO#Y57zH?Ivr@)y z%f(|^+W)uSy0aCWN>^wEW0amj-%xG&)&sEV?qT&6y1JSM7Br_k1C1;dXK^^(o>l9E z6;-dQH+&>!meC#Bg*i*(BRIX#XjJRtn>XWjeT;81Hdd+4Y;Fao(36Y+JeftRIl8BT z?pT8Ro6f!PV#sqvZ8{gKp6=-C&y&?-yt=d;c+jhj6}`qZYXc*HbD=R?LSrKhcM8KP z-zc=MTN0cNot(|8ajLd?%hs!;AxDE%^&{nmJC`jKX9^|!hyE@qRY>)h)n{FdxVxJe z;B^SJ} zwHg3c)PYTY>#ciQ!5Zr>?P|_$qqb@FWr&7Qp4}g&oBTTC|0fyUU(&}<>ElQA@eC}h z|8sm;#&kmL-3MitY48&WEAqVQiDocD)zTZs)CjNmD68}+tMI7r0Z)$l)9iDGeHQ4m zS-60nCmLWgC$XXF5a(E%iN(Sn-hc-S7r@L;ve2aIk_3y3by(}x18i1_dWAE#sBkW~ z#E5PYbA=k?tZ<+IJz|xd2>(5JX~+KveVjrb$(i)=YWjGPK7K|Y|3M#F+Q%Rk9X0>`{`rf5I%09kEiJ4Y5KTn7$3LM$9x>(=nv7y)AaESeH7qD`Lp!# z&qNjNX6Dlw+&-Pr?f*3$i#YpA z6R*?~5kZ91<+LRKEVU&6G%QKtD=Nvy>25@l{(~qjg}9S@b?-clwn5=~Lo}Pl+Wytq}RNg5+OJm_@N$-=iyv;rSn@ z51NrTgXN~dXBKEV4!LFC5jh$B4*7NRId1CAJN!8qKsX4qQz3DF z+1dwB3P&-(ClioO4QG;v%BHKZcU3V5kIX5;Go#~xv8yaO0PMJuac7;L$FEbkeNm@U z2>a`Di2aWlLH_TiR`_p+6kbkFz z@d#i|BDhTMt>D}c_|MpP7jru7`~}$wH_Krj95(sF^or)CEV^F7fhA-z=$%(gJ>aO< zut6BTpE>2_T-wX4*uZXMbu17TFw0Xyo;nr{vE8?HQyPYbPDyJ|7ovn|Ps6>UphxzH zKMy5j7j$PngHFA1+D&E5p)fK4@$g^~Enov(39;?(n)BzR=KNXRa=uV%;^LkA_T7N- z8CAvC8mcIdiZ^@*a$1u0(K94~$s|`zriYHwJlH)p6=mnE8S06_o>D1ij#+DMHFI0) z{u%GKe_}OrnbAu|=X?Ohuah=D|3#P@9(33=k^J4da(-QB3gL)@@Q};i^YNaPQrc#j ztF6-5zUt6geIT{eZt7NQ(kD*u$_bGNSw=?E}h05Ux%la os5Jp|mKH2kw^=lHDdrZXW}c$IGZcs&6+8X12tN(y=G55#0~^Bv6aWAK diff --git a/docs/.doctrees/autoapi/ni_measurementlink_service/session_management/index.doctree b/docs/.doctrees/autoapi/ni_measurementlink_service/session_management/index.doctree index 17df100f970d8227dea2eb297595b7397b0a1c9f..7f3f52e6bc8638f71fd18d7199791d5fcc056a8e 100644 GIT binary patch literal 146572 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 =+n+@P-V{ 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 PaPonT(<78Mh6nzC#rd(k literal 143561 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 diff --git a/docs/.doctrees/environment.pickle b/docs/.doctrees/environment.pickle index cee021eed224c37878ebeae6d4a89e2919118333..95cf5c21cca13abbd02f67f2d38287263e88e208 100644 GIT binary patch literal 1227597 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

Eqk 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

HC?waxaD1W? zyz5NZQ(=5>^oPF51zj88K0tQ) zlkpuh&uW(!Tup6PO%-)hzIORuqqcc40Kd1J=7TN}WmJT{BGOE@n<`H;V-D{qn!$hpu*uHpfk>s*PF0y>l=BGU5C zNtfHURnf{anbdaYgc%7R1-d!b77YfLIin?0r zBj}yv5DLgq%AYLOZYtxAspMR#f&%i0qOS5jWMxeX6p-H&^|QpQpRCz`0&;Ki?+8_% zm2<8%KSr?muU-ab6leGeJ`B^WE4h7)F!SH&_Ira*;5_~mzI+B=IH)}MEPmGhBkiZU zG2*g+r+W*&0PWhT$&}s3h{*nLqZbs|;Hw>zKxgeZ^1=Va8-K9l#_3?38vj$g@$Yxs z_>Zs!YWy!o<3ELOg&qI1j=P|vVd~;D8vh?V?t(T% z)WzXO7li+B9XC#gqSW~Gc;iRl*42Mzl_)YfI2wMXQNCaj*n&*N|e0P8Bc)+JKzvE#*h@x$WEY^ksSbcFc?hA9upr z9{L$&4>QP`e+8sl+loC^$^*3JfW-t8r0s)vMvA&m%MN7p%~AI;0<9tUGdGuNJIjM+ z#QnJ`HbUg-?>Vwuwo9qOAmAQ@_Ay-_eC`n)rDrn=W-B>L%lu^UBrn=65ON_ye_enw zzJR`3fU;ebIP(xcAIVk)q*5Gzu0C3AR)!#1S*|%=z7BH!K?E=SjuQTXMiIi-QyvF_ zVpUTbg1}($eI2AMw{|>N8XhhUg7+{=CVWNl<{*XwB-Eh+OvsQbRa+~MgCN7B(5h&s zkJ7$1MinfmOh-=@b38NvYOp#!SSw+YLWotDGgr0HmNp6J4wdSIwekcaDl}^lZ%(Q& zEswFu{FYzS6uuOBeAT8anDe_z12C0GFsCA5>Bmvn%@?4iMy$WgxPrChNV&(5GVmV8vGeMnvpvd$`tPfsgw zdTM^o@4O&y%)re&Wg)o+#j(#I6$ZiVN^`ZY8sW_1IHa#6!2?B0W1O~vh%Ru=&PRTU zjf3 zN_&>&7L1pdNLCr5vVbyY;8Ux1Lkcxa=E1S{%W}X2)HKipwX$k=aSRLtXh|>+rg5!V zA61JVsW(7BTCHI-kPaSlgn-(D%bPOX5|kj-N4;5rq5;K`VtKsY5H06$1`d};;H(>d zR30lg>iGpg#)@jC0)Sv9B~US_9!Mc#L4E0ZIBe1EA95Z4m%2(-UAQYTt0oNmD1BswdPOEt<`2iPv(eB}nw zH;+C@J*4Nx_l$@;iH*h91rya>rCM`hK_6&n2Do6`f~XBNXJvV?u@zeB!={vAizPWN zS^t>6gy1FF5M}FfJl`_2Xo3V+;9A5hE}14<-UxEPf)+?pWulBk9mIr}Q@QMoRyl=h zF*mWNF$yzbSk%Xc3^cf;VAd8X**!hW6LZ-Zv``9)TrXO-rYgV*3OQj663F=F>@lJX z`YHd?;KiaGB&cCU0_)arm46}yn-m3@Wi=2#SeXhHFc)&YsA!-!{09d)@^B@#x}86>9f@$id_njVMb842&{b%)Kk6?X!ZufTs8j8w}Jc3IZ(a z=D0-7Cc=jpwHOd$$N)56g4~yo`6bu822vTV;BPj<7tj&@gPbP`8st9-Q!Ta(VQwDb zuc1~0^y}k`un*xo+5jGfGR_;=UdU&141SyeFO(-4_8L9%JzMy*)JHPZ=D^2rIwmuo zY)tam%$6fzl0e=O%z9kDo)ak>{8utp9SA^I0+X+*vkjD^Of+DN4dtXw#{x$7exKZ_ zuz_^dTKbl^2tBYxDC-`JCfi&4TMk8%ml6Nv{NQeA6O!x2TLwn$dBN?0a}#ZN(n9LCHMYZI(RAtagP{Z^}-hQ~|IS}=IY=1VXS+ZB?#A()S!j)NDKh-b?& zWTmiX2Cb_U3FzSX=%~N3&2Mxj$pyamSB3cw)?H+5<*)k$r+|lW4pAKg+h#lLJ1;Ss zD@Zx85oUjqrL)PKhTa7$gz3S1hznp5&FAxrGW>LD>Q7lM_b#}Slz1+^pV-5yWvr?# zi0_S%aREkIvI#|WEM3Gi5=bF|g53?)qweK~;c0%ebP+MMXLAXLpi-|c%Pm9RFWa7v zw6?uZeb2w!4$2VEw1VS1kj2@NK7%`cIva$HF03c@P)Ci+9v!)fDjK0x$k?nA)M1wm7y#rLXqGY_&PAAKJc%vg zY^;N!A!P*}NYr#SCY1qOHj8y9K_~V@3)R{XXVBM=VI96YU;wQJ=>0pP;+w? zgk10P@jdv~%sA&b%k^GKhXBP2n%%Gv5mBql6)^vDkct`7xbFd- zFMq?y1#>bPVRgI$M?tEr8l@SGbV|=tlOTVRP)z!q&%q1JA!R}wXhN5`xEOr_p|rkN z0R`ushk>NVHmuDJ)nE%$%MHM$Xvq8#@w7aIvPe7fK}fC$hdaX%-Hn+bQ6j<4gOYHJ z3XXNg%VTv|%AlwMoP~@P$KlKZ*#ieVt6{2?csJR{X5M%Xx?Z_rBW`7kUa2jVG6OvW zsVBCdU%O#*|E8OOc#dW1X7H^`FaHKkc1*Q^6(w#VX1h@f?opP#Vq(o;8#%#9vm`hGjaj8 zno&+pE%0=$Mj(qEL3FUQ6kAu@W7{@4Hpy0Ot}N3X^KJ4KD^LPS`h+;=io9)Mi`Q#lpUr4AcY})RYh7t^6OrM??C(CdUo)dgRqEJo8?k6@m zbhSV%&LY9a!a8}HIcPjXt8gC*e~RY0CzLq*L=&_SAlY(e5(PrA*Wq~iNQ3Z6`o*25 zPm<1^4b|Vk`j<7lLbzo#4;S(3RqB+ydJ>mi;YYu1vNxRHx=EZ2buIH&x2G`T^AXyv zoJyP%d>-f2K2c=r0LKr)sc}B3315csWdvSIoXtDMIc7=0XgNKRH^nJYbQ!&qv8W0h+QWJSU z+l4@Y9jC3T?i;_jS##vGlJB#hA(p=(22ZXo*6-E zBJWqY5KyEW@!*ck2vQSy-|0f|A*Bx}1THM{oZ*c*p_(q!V6yIn9?piLvxB26}&xKd#5~Pqx6YtdL5`3pWA@6n(@*}0@ zC_K|7Y+;H+Z`&mD>qMjw_fCSnb!NEKOqri$ zrdqB9zUgA>gZKb3^;`HZMex7xYKkr*si`06rdaU*@_#w3wN2sqAu!KAmw)6Mfgj@o zGy*?~kHB)A&K*Uzwn@g%63O_vi;Ra98NY~=@nj@JT)KkeBe)%4V0~ADT7BsYeubbg zfHn9Hyt5D0Z}FM5tGM6c12j~>$9Kk(yk+Czhk{fO1*vv7NYz)kIg>~52aw6;fLOr( zt`anOu9)8@0&O*4{)p2tZRY+7AE22_VYYI`w3PVxo2w~`W~8Pln$c7O1BV~n!HCPq z3tOt<0z1o7B%((M;xh8OSME0yP-XnKM>H;i6qn_E!V|eo^%Ds9kj+G57TsZr+>qr* z9Ox)pRp>FSdKrdlNM?w97p@S-7!$Y|12(uSw}v+^lihnpIjZMvk&es2@n6pudv@e~ zFaK#owsQRpdS9vmm1wjG0yrp?D0_yA2J z3am6I(V;-fNDxar22+JQUSjxVDjzcTvHu4Oq;!e;UKaJ^O=idl*@*Pc_LttdF6o`8 zq?aNxP3b)pF9~6uhvFr{s}us^4#i6zikGYz5s{H_R*2d^6fe1${v%Ip86`P&@sgfv z$rWa7HRM)-M5AJ+;X~n>GRUp#xwoTdjxtD~g3KMbWDi1%-B+ zisDdcXCoI4?erT|5mPDl#pnAE)?(LS<<($O6sR#+7SEpe?V{NBUyLhOfkL7%DHf%? z$+}`a%AdB!xM;gb(MHjtnP{7#rcGpX_c(u;PjJD!Siz*Y(r&_B?hkW?3+74%lcG=! zm|>TrP_xX5HU5;Ybx}$|taMgHL98aF9S5;yq3sHP+BUdoqZnACjbdO;+Bywt^&>4j zy|jCf3|3f@;2i{YgUMTi`?&!q(iNFx{r+@c?V|e{e1PbtI9Y@4Er()Ydk%aItf%mt z+ZuD+dXNk`#>`F7HoF+{z15+lr_p?+k)vQEk(o%k!bbg}q^Cw1K$TTNg?EdK4Z$)I zecq*{r+S{G`uhACE)~J&z*6V2;L?=am8LA>J3~`?ScH&01YI5m@R#WPu)z*u)CGc~ zz)4+~vx4ADY5*WEs6Fd9Y6jb{y7mUc;6J=K7=c%c?gmaTx?vI`*+-Au5S#-vtDyD~ z_!A|h4bMr7!Y2n6NH8e!I1IlQeuZJ};YDlFbp=xoj#Y=6SQG-24N&S+c#pX}jchi# z)tJn9SGBf7SD_6407)3biKz^Im*69z>cJnO-{4R9a_`|F1RUs|Qc-RR#JMx6k#^EU z-ic8pBlOM?)J{0(8vlJX{<0z|MECoQe_AmvMS5PPEEAG&osxt{u7FG_n4?`uf{`-C z6av*mTnMh;FG8TYj|`(-98zi*7~)`WF&J>JnjC9Ea>jWtiqDpOVa5hZh z1l926Tcv79OZILNjXY%YsMjHNqmYrOOBn&>%!KwT{iBjr~R8U1hwu)I<(Lj46QEOS}AoxrlmNwsUVJ*cbRbm=8c(GgHXK~R%c z!6uD^d1}Igl9e4(f<4)&=-E)(B|JC;F_*U6mk@`%*^&oM>)P$7Wps=VZKTbu9Z3__~AYIUSi;-Wi{kqqiT z@R|t~6G$bjVh~_=Qu0yhm5|#7Y4X5Y*g+{&MS@^VUI%%CFn>Hxy8h~BDlbCUOeLrk z0;wzu(g0CULEEig$~33y;t@@g2Dmy+Knan>GLdqv+Nc8RTp5d&U;;flC(P%rY(n zZ1OV~PCuZeOGAo}5SiCt6GleF@M$7N7o_+Vg2q{TF)MI+5K`M?BO=3n?@$$xVvefv z_+X_u1j*rwBLKE%H73hXq*}BKDU5Q3tEoL9P2l}SRG!OJUc^+st_>>nEWzxgunJjb z$?G-An2?QT$-VHMF-zX4KGH0Cllu5({Ow!R$G76gxA8|YhhE@6hr|lk)*RYctkp}% z-jo?c&zQ4^zUb1-fi#k&0O~zmo;k6}3b}5(I&&V!GPQ+e>g_misWV3}|A+O973Hz* zs(HDhKm(CggoJ!61KJu-Po`DAnzBNc#gx4dv1={=PW<>TmO&8bcjL$R@JAt%_v^%a z9nET%SE}jMgn3T|Eg%i}K)JCCQjji&4WrCoiVB&ly^R&?J0Mp$XlZz`1PSU?dS5t_ z#R`M4I8cEmRN_!zqndl2UAUx<|jp&TTmJwTA&Y+a*G$! zA93NqwBmI*02U>#ppT(yZUB>)Lr(3{(%=q+#i=Y2IK*#2X__jew&c27qKQG^9V`ma zSiK4P@8u66`(>kC$zf8-+9C$sBeBXvx5Zp9*?ic+*=C`ulJ znpBieVHw)PLj7JGdYe#-ymb40Unb?hHCLV3rnkK>Gg?gFm(gB@_GR==Y*%cDRL{g+ zO`1FJv+x0G>IQsgZ1Ez8R7q!Kx$tpjbFyN;&VMFW(gE_xlj%EgaYyZG@M#Sb#v4SsAnWNT;KrB0o#?I$DQqdewS zUv5Wf51ULtCc2wPX4;!0l4ZGldaFya-lin$?fA}+tjNNibT^|HcD#AAO!fO*0N$Yh zkWFs@*mB5b{|B_$JtxPpxM}Kx%-vWqm(Hgng8yEW8o9*qg`iuy#ZgDf%JM^ zA6(Mz{x^QiDK@Y_L;}Qym}TB_j}VZ>OZ6A_8qf2jqYd=2y!knnBj3raZM}{N$Xujm zUSw}(J~uO;n<1O9wVCi}aYQAK0y@8NQ0=vz3>?RZjw3|oWrsf3)29=sz~K%S2o>$Y z{CotR-eBcJO6C_!>(Jo6Tacd{B zEYWt)B1>|}#Abd9hs@SPD-R-B>>ctJ&>oO@@B%vzPGKIL!aSgjo`nbVZP2jUu=A0( zHQh?}sf_c~){z&-B{%NxYwWnXwB+~~=O!zXXNUbh+tzgY0SYN;I`yD;LQmTcP=1VZ zkamEg&n`%l8)lBjx)sSPm3(&b6Bh`5Y(VQk2Oz|;fyLtdsSCu<@Bw1#&+%OcARdC> z+mDid;R5kX1>#p7g7|eJh~KzC{8oYZU56lkp9tc=T_E(y9_jNAh9mi8?+-2z|AP;Z zO#BhwbpYZ|@O!&V{MiLUpX`xV?*K&d$=+XFApVLE5GVeI?>YeSzwmqMjOU?ax?mf( z>skXv<%&aaP9{v^hrJF6#x*KDU%6jN=R3LxgL5a?55P?}xMhi-YPTzGKHm;5a9o#u z#y#+k7Szj=7mK{jXGOJ-UN)QI(u6MU=>~l=xR8#vf?3cy7e5PTV@Etz8pi}Y#yI9F z98c;Vj{Jryf{R?M!8nr_XmC07y-%CU8VXf}AeOZ2u#v(NEW8`R5gd;cJD^Z$2!e8D z7rBCU@1s~w^1wnxBD#)c6%>_?VmUPt3+7s3X`!^>h$VO*USUHzzbiS1`o&2`Y6-d8?}rAXYGwr zSyONSqI(O@gLduIAogP0G*LEc>g7X5FQ`m{B^{IS4RAdsH4=O{-uQ(bH~wAK_($T6 zKepq>f211!sL}Yviuu74JMMxK9TVq2ZgfGMU)gcvl$4kn|D@6QT8;nmj=P`)!qmm5 zjV=iPl^r)u&iT~%XXB0cx7WC+LU#@PO3!Jv(uK#u`2@J5!~OgE$f6pq&8k{04f47d z_F#R%q5dYgm5Jh?TW*9UcLnCkVqY&~p+;u{xpJV3+l0gk^)GvtH^2pMpxIERTQOM# zg>{%Q)n<`H@qKO_AjlGjs!3=O(z0-!`(BEXofue}UtKO$hM1$$(6YvwZeoaxW!x@{3nVvtS^4SO7N_! z759ji`fE+BA&=ivv2ltx7%o*Nypp__Ur~t@!D+BjeyiGsNC_P+h$W zUDd>|0GM!{o5iOZi&88yN(YS-GrYQM6C`g6ZDiROl@iZkT<7p<%Mrk|$z((A6s%84 z2s0aM8|7S+Iw6njwIO>rBYQX_TO9XV#Ge(^T*}kfT#ZtQ1C&C;8BjBmY1q^~F3ZVh zqeD1Np38Jh$JvX`^w*y_*?$Rb9&NU+nGR3*JoYJbAhKzo*987LJZ10`;l zXsQ03UaG;D@P7RCd3XWWShiThAA#&s8>FpkSkD$itGV8|TmeM$!b@0s?B%FNEon%c zRNyl_Tm{7ytMe=8Ex5b$4msD`GM7Q$s_)ba3pLnVs_Wt$T~(`9Yg7r{2@4%p5Smt} zeazv_>|pl=tb0sQM%)W@&l z$FHf6q}Bh6Kk^19+}Q205^K!W%#`iSl&>QWPp0IZOpzMSWXm_O2kr1mY z`uJ^p_&e$&ap}A2BXQ|_{Ber8G{{`Kp1JgWgyqSl^POBGUwo5AKfvZ=Ec&6MnppHB z^^utHWB$lYkP7ALjQJ+U{1a@{6Z3ga%tmq(QZ+xt)?<)=t}s4?fBl8}NW=I`^^qv} z6@QFUu$L*gjVbsww&F>_saWQmK*GcY|K@^TD#Rh(Z?H9iSSZKeF$SR=?_X1b^EosD zsR=UG@DmiqUV<&>x#b0heTga)%Db0#Lufp03u+_v9<>!vhHMsXNTt@fF}byX6@oVd zj1Mf`6llt(oMfK9o_YHFHh6k`0bJ&wukw(=S;5W!Hn<7e?SJs&ADNx-k;eZ|{4qMh zZ)7xYXEcAtpV>zE0Qo%2RV(@Ku3evJv&Hl)J32(B^K*J9&SY&V#m~j#=Cmt2Iz6VQ z7UH9_DN9}M^IT2Q0WdXnzHZ95E;q;c%cEVm+^`_%b0N@`fEQ;)U>xe&LF8Q^bTQy1 znL+5&Tsw$IxIpN7z!zi&p^tF^geAxPQWpqa`tf}@dDE|X{0sbDi2bgCZLPcX= zb?HYsCN>}*D*YHM{diHF?a7JLm$}%kOFz9C!& z86CD85W86V@sc>;WS(B?0!#<^1egx+O~73%{kYN}?`jubx)UJ0bSGfqo%+&`m-!QN zxr-3Ge;`8W{=p>V;41xig+I|7Ttw^Ak8~qq65YMhj~o2~Z*l>qTNWB6x@Cy~?sDnJ zet+0kyI||mk92cm!k&uKk6ZkqKiLJH?uCfsbT4E=pOVs#|76E5GBsU}R~y!w8#<$k zCK}~LNJce=$d!&+x+EzW5U-JfUO)u4lchM`Q(Vj|-~+_G?f8zFXRQiZay3PJXliO$ zH|1-WN4)Yz;P-ZebkqfcPWlN%xkC^^B8VL>5Oh>eASxY#7)t~(?gBxlS_GonA&7}Y z5ZAdt=o)af4nfotK{Q+-=q#N$(aZ`$Y#4)`ghFIrJakbjT*%}xy*gbwbWyusFKXjE znRu$}z2s#V6nP3+0?T%}rqFJDfTj>#=$LEl|D6jQH=FS+H=M7gfjVT3gj+ogdCBJr zu*g|P;~B2ec%~W+y5KQKV+yWlTx5$x>X%0D05Lx@r^ldM1(Cs@kE@M?a3~d0u1{2o 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 cT}o(~F>f^Wm?k~Ua!sxy6c&GmV1ISd6-AGpxpz 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�i8TUrZg;WuNsR+ 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
l|B0 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

@@ -73,6 +73,7 @@

All modules for which code is available

  • google._upb._message
  • +
  • ni_measurementlink_service._channelpool
  • ni_measurementlink_service._datatypeinfo
  • ni_measurementlink_service._internal.discovery_client
  • ni_measurementlink_service._internal.grpc_servicer
  • diff --git a/docs/_modules/ni_measurementlink_service/_channelpool.html b/docs/_modules/ni_measurementlink_service/_channelpool.html new file mode 100644 index 000000000..d09b4cd9c --- /dev/null +++ b/docs/_modules/ni_measurementlink_service/_channelpool.html @@ -0,0 +1,183 @@ + + + + + + ni_measurementlink_service._channelpool — ni_measurementlink_service 1.2 documentation + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    +
      +
    • + + +
    • +
    • +
    +
    +
    +
    +
    + +

    Source code for ni_measurementlink_service._channelpool

    +from __future__ import annotations
    +
    +import sys
    +from threading import Lock
    +from types import TracebackType
    +from typing import (
    +    Dict,
    +    Literal,
    +    Optional,
    +    Type,
    +    TYPE_CHECKING,
    +)
    +
    +import grpc
    +
    +from ni_measurementlink_service._loggers import ClientLogger
    +
    +if TYPE_CHECKING:
    +    if sys.version_info >= (3, 11):
    +        from typing import Self
    +    else:
    +        from typing_extensions import Self
    +
    +
    +
    [docs]class GrpcChannelPool(object): + """Class that manages gRPC channel lifetimes.""" + + def __init__(self) -> None: + """Initialize the GrpcChannelPool object.""" + self._lock: Lock = Lock() + self._channel_cache: Dict[str, grpc.Channel] = {} + +
    [docs] def __enter__(self: Self) -> Self: + """Enter the runtime context of the GrpcChannelPool.""" + return self
    + +
    [docs] def __exit__( + self, + exc_type: Optional[Type[BaseException]], + exc_val: Optional[BaseException], + traceback: Optional[TracebackType], + ) -> Literal[False]: + """Exit the runtime context of the GrpcChannelPool.""" + self.close() + return False
    + +
    [docs] def get_channel(self, target: str) -> grpc.Channel: + """Return a gRPC channel. + + Args: + target (str): The server address + + """ + new_channel = None + with self._lock: + if target not in self._channel_cache: + self._lock.release() + new_channel = grpc.insecure_channel(target) + if ClientLogger.is_enabled(): + new_channel = grpc.intercept_channel(new_channel, ClientLogger()) + self._lock.acquire() + if target not in self._channel_cache: + self._channel_cache[target] = new_channel + new_channel = None + channel = self._channel_cache[target] + + # Close new_channel if it was not stored in _channel_cache. + if new_channel is not None: + new_channel.close() + + return channel
    + +
    [docs] def close(self) -> None: + """Close channels opened by get_channel().""" + with self._lock: + for channel in self._channel_cache.values(): + channel.close() + self._channel_cache.clear()
    +
    + +
    +
    +
    + +
    + +
    +

    © Copyright 2023, National Instruments.

    +
    + + Built with Sphinx using a + theme + provided by Read the Docs. + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/docs/_modules/ni_measurementlink_service/_datatypeinfo.html b/docs/_modules/ni_measurementlink_service/_datatypeinfo.html index 3b44a9fd6..db4f67224 100644 --- a/docs/_modules/ni_measurementlink_service/_datatypeinfo.html +++ b/docs/_modules/ni_measurementlink_service/_datatypeinfo.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/_modules/ni_measurementlink_service/_internal/discovery_client.html b/docs/_modules/ni_measurementlink_service/_internal/discovery_client.html index 6b04e9208..fcb40e06c 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/discovery_client.html +++ b/docs/_modules/ni_measurementlink_service/_internal/discovery_client.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/_modules/ni_measurementlink_service/_internal/grpc_servicer.html b/docs/_modules/ni_measurementlink_service/_internal/grpc_servicer.html index 2b7a468b3..3df749031 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/grpc_servicer.html +++ b/docs/_modules/ni_measurementlink_service/_internal/grpc_servicer.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -132,7 +132,7 @@

    Source code for ni_measurementlink_service._internal.grpc_servicer

    [docs] def add_cancel_callback(self, cancel_callback: Callable[[], None]) -> None: """Add a callback that is invoked when the RPC is canceled.""" - def grpc_callback(): + def grpc_callback() -> None: if not self._is_complete: cancel_callback() @@ -223,7 +223,7 @@

    Source code for ni_measurementlink_service._internal.grpc_servicer

    self, measurement_info: MeasurementInfo, configuration_parameter_list: List[ParameterMetadata], - output_parameter_list: list, + output_parameter_list: List[ParameterMetadata], measure_function: Callable, ) -> None: """Initialize the Measurement Service Servicer. @@ -240,7 +240,9 @@

    Source code for ni_measurementlink_service._internal.grpc_servicer

    """ super().__init__() - def frame_metadata_dict(parameter_list: list): + def frame_metadata_dict( + parameter_list: List[ParameterMetadata], + ) -> Dict[int, ParameterMetadata]: metadata_dict = {} for i, parameter in enumerate(parameter_list, start=1): metadata_dict[i] = parameter @@ -366,7 +368,7 @@

    Source code for ni_measurementlink_service._internal.grpc_servicer

    self, measurement_info: MeasurementInfo, configuration_parameter_list: List[ParameterMetadata], - output_parameter_list: list, + output_parameter_list: List[ParameterMetadata], measure_function: Callable, ) -> None: """Initialize the Measurement Service Servicer. @@ -383,7 +385,9 @@

    Source code for ni_measurementlink_service._internal.grpc_servicer

    """ super().__init__() - def frame_metadata_dict(parameter_list: list): + def frame_metadata_dict( + parameter_list: List[ParameterMetadata], + ) -> Dict[int, ParameterMetadata]: metadata_dict = {} for i, parameter in enumerate(parameter_list, start=1): metadata_dict[i] = parameter @@ -421,6 +425,7 @@

    Source code for ni_measurementlink_service._internal.grpc_servicer

    configuration_parameter.repeated = configuration_metadata.repeated configuration_parameter.type = configuration_metadata.type configuration_parameter.annotations.update(configuration_metadata.annotations) + configuration_parameter.message_type = configuration_metadata.message_type measurement_signature.configuration_parameters.append(configuration_parameter) # Configuration Defaults @@ -436,6 +441,7 @@

    Source code for ni_measurementlink_service._internal.grpc_servicer

    output_parameter.type = output_metadata.type output_parameter.repeated = output_metadata.repeated output_parameter.annotations.update(output_metadata.annotations) + output_parameter.message_type = output_metadata.message_type measurement_signature.outputs.append(output_parameter) # Sending back Response diff --git a/docs/_modules/ni_measurementlink_service/_internal/parameter/metadata.html b/docs/_modules/ni_measurementlink_service/_internal/parameter/metadata.html index 669c69384..768a62ba6 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/parameter/metadata.html +++ b/docs/_modules/ni_measurementlink_service/_internal/parameter/metadata.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -80,9 +80,7 @@

    Source code for ni_measurementlink_service._internal.parameter.metadata

    from google.protobuf import type_pb2 -from ni_measurementlink_service._internal.parameter.serialization_strategy import ( - Context, -) +from ni_measurementlink_service._internal.parameter import serialization_strategy from ni_measurementlink_service.measurement.info import TypeSpecialization @@ -135,13 +133,17 @@

    Source code for ni_measurementlink_service._internal.parameter.metadata

    return None expected_type = type( - Context.get_type_default(parameter_metadata.type, parameter_metadata.repeated) + serialization_strategy.get_type_default( + parameter_metadata.type, parameter_metadata.repeated + ) ) display_name = parameter_metadata.display_name enum_values_annotation = get_enum_values_annotation(parameter_metadata) if parameter_metadata.repeated: - expected_element_type = type(Context.get_type_default(parameter_metadata.type, False)) + expected_element_type = type( + serialization_strategy.get_type_default(parameter_metadata.type, False) + ) _validate_default_value_type_for_repeated_type( default_value, expected_type, diff --git a/docs/_modules/ni_measurementlink_service/_internal/parameter/serialization_strategy.html b/docs/_modules/ni_measurementlink_service/_internal/parameter/serialization_strategy.html index 7414eb5b9..73c83ed83 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/parameter/serialization_strategy.html +++ b/docs/_modules/ni_measurementlink_service/_internal/parameter/serialization_strategy.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -74,30 +74,37 @@

    Source code for ni_measurementlink_service._internal.parameter.serialization_strategy

     """Serialization Strategy."""
    +from __future__ import annotations
     
    -from typing import Any, Callable
    +from typing import Any, Optional, cast
     
     from google.protobuf import type_pb2
    -from google.protobuf.internal import decoder
    -from google.protobuf.internal import encoder
    +from google.protobuf.internal import decoder, encoder
    +from google.protobuf.message import Message
     
    +from ni_measurementlink_service._internal.parameter import _message
    +from ni_measurementlink_service._internal.parameter._serializer_types import (
    +    Decoder,
    +    DecoderConstructor,
    +    Encoder,
    +    EncoderConstructor,
    +    Key,
    +    PartialDecoderConstructor,
    +    PartialEncoderConstructor,
    +)
    +from ni_measurementlink_service._internal.stubs.ni.protobuf.types import xydata_pb2
     
    -def _scalar_encoder(encoder) -> Callable[[int], Callable]:
    -    """Abstract Specific Encoder(Callable) as Scalar Encoder Callable that takes in field index.
     
    -    Args
    -    ----
    -       encoder (Callable[[int, bool, bool], Callable]): Specific encoder that takes in
    -       field_index, is_repeated, is_packed and returns the Low-level Encode Callable.
    +def _scalar_encoder(encoder: EncoderConstructor) -> PartialEncoderConstructor:
    +    """Constructs a scalar encoder constructor.
     
    -    Returns
    -    -------
    -        Callable[[int],Callable]: Callable Encoder for scalar types that takes
    -        in field_index and returns the Low-level Encode Callable.
    +    Takes a field index and returns an Encoder.
     
    +    This class returns the Encoder with is_repeated set to False
    +    and is_packed set to False.
         """
     
    -    def scalar_encoder(field_index):
    +    def scalar_encoder(field_index: int) -> Encoder:
             is_repeated = False
             is_packed = False
             return encoder(field_index, is_repeated, is_packed)
    @@ -105,231 +112,210 @@ 

    Source code for ni_measurementlink_service._internal.parameter.serialization return scalar_encoder -def _vector_encoder(encoder, is_packed=True) -> Callable[[int], Callable]: - """Abstract Specific Encoder(Callable) as Vector Encoder Callable that takes in field index. +def _vector_encoder( + encoder: EncoderConstructor, is_packed: bool = True +) -> PartialEncoderConstructor: + """Constructs a vector (array) encoder constructor. - Args - ---- - encoder (Callable[[int, bool, bool], Callable]): Specific encoder(Callable) that takes in - field_index, is_repeated, is_packed and returns the Low-level Encode Callable. - - is_packed (bool, optional): Represents if the encoder supports packed type. Defaults to True. - - Returns - ------- - Callable[[int],Callable]: Callable Encoder for 1D Array types that takes in - field_index and returns the Low-level Encode Callable. + Takes a field index and returns an Encoder. + This class returns the Encoder with is_repeated set to True + and is_packed defaulting to True. """ - def vector_encoder(field_index): + def vector_encoder(field_index: int) -> Encoder: is_repeated = True return encoder(field_index, is_repeated, is_packed) return vector_encoder -def _scalar_decoder(decoder) -> Callable[[int, str], Callable]: - """Abstract Specific Decoder(Callable) as Scalar Decoder Callable that takes in field index,key. +def _unsupported_encoder(field_index: int, is_repeated: bool, is_packed: bool) -> Encoder: + raise NotImplementedError(f"Unsupported data type for field {field_index}") - Args - ---- - decoder (Callable[[int, bool, bool], Callable]): Specific decoder(Callable) that takes in - field_index, is_repeated, is_packed, key, new_default and - returns the Low-level Decode Callable. - Returns - ------- - Callable[[int,str],Callable]: Callable Decoder for scalar types that takes in - field_index, key and returns the Low-level Decode Callable. +def _scalar_decoder(decoder: DecoderConstructor) -> PartialDecoderConstructor: + """Constructs a scalar decoder constructor. + Takes a field index and a key and returns a Decoder. + + This class returns the Decoder with is_repeated set to False + and is_packed set to False. """ - def scalar_decoder(field_index, key): + def _unsupported_new_default(message: Optional[Message]) -> Any: + raise NotImplementedError( + "This function should not be called. Verify that you are using up-to-date and compatible versions of the ni-measurementlink-service and protobuf packages." + ) + + def scalar_decoder(field_index: int, key: Key) -> Decoder: is_repeated = False is_packed = False - return decoder(field_index, is_repeated, is_packed, key, None) + return decoder(field_index, is_repeated, is_packed, key, _unsupported_new_default) return scalar_decoder -def _vector_decoder(decoder, is_packed=True) -> Callable[[int, str], Callable]: - """Abstract Specific Decoder(Callable) as Vector Decoder Callable that takes in field index,key. +def _vector_decoder( + decoder: DecoderConstructor, is_packed: bool = True +) -> PartialDecoderConstructor: + """Constructs a vector (array) decoder constructor. - Args - ---- - decoder (Callable[[int, bool, bool], Callable]): Specific decoder(Callable) that takes in - field_index, is_repeated, is_packed, key, new_default and - returns the Low-level Decode Callable. - - is_packed (bool, optional): Represents if the decoder supports packed type. - Defaults to True. - - Returns - ------- - Callable[[int,str],Callable]: Callable Decoder for 1D Array types that takes in - field_index , key and returns the Low-level Decode Callable. + Takes a field index and a key and returns a Decoder. + This class returns the Decoder with is_repeated set to True + and is_packed defaulting to True. """ - def _new_default(unused_message=None): + def _new_default(unused_message: Optional[Message] = None) -> Any: return [] - def vector_decoder(field_index, key): + def vector_decoder(field_index: int, key: Key) -> Decoder: is_repeated = True return decoder(field_index, is_repeated, is_packed, key, _new_default) return vector_decoder -FloatEncoder = _scalar_encoder(encoder.FloatEncoder) -DoubleEncoder = _scalar_encoder(encoder.DoubleEncoder) -IntEncoder = _scalar_encoder(encoder.Int32Encoder) -UIntEncoder = _scalar_encoder(encoder.UInt32Encoder) -BoolEncoder = _scalar_encoder(encoder.BoolEncoder) -StringEncoder = _scalar_encoder(encoder.StringEncoder) - -FloatArrayEncoder = _vector_encoder(encoder.FloatEncoder) -DoubleArrayEncoder = _vector_encoder(encoder.DoubleEncoder) -IntArrayEncoder = _vector_encoder(encoder.Int32Encoder) -UIntArrayEncoder = _vector_encoder(encoder.UInt32Encoder) -BoolArrayEncoder = _vector_encoder(encoder.BoolEncoder) -StringArrayEncoder = _vector_encoder(encoder.StringEncoder, is_packed=False) - - -FloatDecoder = _scalar_decoder(decoder.FloatDecoder) -DoubleDecoder = _scalar_decoder(decoder.DoubleDecoder) -Int32Decoder = _scalar_decoder(decoder.Int32Decoder) -UInt32Decoder = _scalar_decoder(decoder.UInt32Decoder) -Int64Decoder = _scalar_decoder(decoder.Int64Decoder) -UInt64Decoder = _scalar_decoder(decoder.UInt64Decoder) -BoolDecoder = _scalar_decoder(decoder.BoolDecoder) -StringDecoder = _scalar_decoder(decoder.StringDecoder) - -FloatArrayDecoder = _vector_decoder(decoder.FloatDecoder) -DoubleArrayDecoder = _vector_decoder(decoder.DoubleDecoder) -Int32ArrayDecoder = _vector_decoder(decoder.Int32Decoder) -UInt32ArrayDecoder = _vector_decoder(decoder.UInt32Decoder) -Int64ArrayDecoder = _vector_decoder(decoder.Int64Decoder) -UInt64ArrayDecoder = _vector_decoder(decoder.UInt64Decoder) -BoolArrayDecoder = _vector_decoder(decoder.BoolDecoder) -StringArrayDecoder = _vector_decoder(decoder.StringDecoder, is_packed=False) - - -
    [docs]class Context: - """Strategy context.""" - - _FIELD_TYPE_TO_ENCODER_MAPPING = { - type_pb2.Field.TYPE_FLOAT: (FloatEncoder, FloatArrayEncoder), - type_pb2.Field.TYPE_DOUBLE: (DoubleEncoder, DoubleArrayEncoder), - type_pb2.Field.TYPE_INT32: (IntEncoder, IntArrayEncoder), - type_pb2.Field.TYPE_INT64: (IntEncoder, IntArrayEncoder), - type_pb2.Field.TYPE_UINT32: (UIntEncoder, UIntArrayEncoder), - type_pb2.Field.TYPE_UINT64: (UIntEncoder, UIntArrayEncoder), - type_pb2.Field.TYPE_BOOL: (BoolEncoder, BoolArrayEncoder), - type_pb2.Field.TYPE_STRING: (StringEncoder, StringArrayEncoder), - type_pb2.Field.TYPE_ENUM: (IntEncoder, IntArrayEncoder), - } - - _FIELD_TYPE_TO_DECODER_MAPPING = { - type_pb2.Field.TYPE_FLOAT: (FloatDecoder, FloatArrayDecoder), - type_pb2.Field.TYPE_DOUBLE: (DoubleDecoder, DoubleArrayDecoder), - type_pb2.Field.TYPE_INT32: (Int32Decoder, Int32ArrayDecoder), - type_pb2.Field.TYPE_INT64: (Int64Decoder, Int64ArrayDecoder), - type_pb2.Field.TYPE_UINT32: (UInt32Decoder, UInt32ArrayDecoder), - type_pb2.Field.TYPE_UINT64: (UInt64Decoder, UInt64ArrayDecoder), - type_pb2.Field.TYPE_BOOL: (BoolDecoder, BoolArrayDecoder), - type_pb2.Field.TYPE_STRING: (StringDecoder, StringArrayDecoder), - type_pb2.Field.TYPE_ENUM: (Int32Decoder, Int32ArrayDecoder), - } - - _TYPE_DEFAULT_MAPPING = { - type_pb2.Field.TYPE_FLOAT: float(), - type_pb2.Field.TYPE_DOUBLE: float(), - type_pb2.Field.TYPE_INT32: int(), - type_pb2.Field.TYPE_INT64: int(), - type_pb2.Field.TYPE_UINT32: int(), - type_pb2.Field.TYPE_UINT64: int(), - type_pb2.Field.TYPE_BOOL: bool(), - type_pb2.Field.TYPE_STRING: str(), - type_pb2.Field.TYPE_ENUM: int(), - } - -
    [docs] @staticmethod - def get_encoder( - type: type_pb2.Field.Kind.ValueType, repeated: bool - ) -> Callable[[int], Callable]: - """Get the Scalar Encoder or Vector Encoder for the specified type based on repeated bool. - - Args - ---- - type (type_pb2.Field.Kind.ValueType): Type of the Parameter. - - repeated (bool): Boolean that represents if the Parameter is repeated or not. - - Raises - ------ - Exception: If the specified type is not supported. - - Returns - ------- - Callable[[int], Callable]: ScalarEncoder or VectorEncoder. - - """ - if type not in Context._FIELD_TYPE_TO_ENCODER_MAPPING: - raise Exception(f"Error can not encode type '{type}'") - scalar, array = Context._FIELD_TYPE_TO_ENCODER_MAPPING[type] - if repeated: - return array - return scalar
    +def _double_xy_data_decoder(decoder: DecoderConstructor) -> PartialDecoderConstructor: + """Constructs a DoubleXYData decoder constructor. -
    [docs] @staticmethod - def get_decoder( - type: type_pb2.Field.Kind.ValueType, repeated: bool - ) -> Callable[[int, str], Callable]: - """Get the Scalar Decoder or Vector Decoder for the specified type based on repeated bool. - - Args - ---- - type (type_pb2.Field.Kind.ValueType): Type of the Parameter. - - repeated (bool): Boolean that represents if the Parameter is repeated or not. - - Raises - ------ - Exception: If the specified type is not supported. - - Returns - ------- - Callable[[int], Callable]: ScalarDecoder or VectorDecoder. + Takes a field index and a key and returns a Decoder for DoubleXYData. + """ - """ - if type not in Context._FIELD_TYPE_TO_DECODER_MAPPING: - raise Exception(f"Error can not decode type '{type}'") - scalar, array = Context._FIELD_TYPE_TO_DECODER_MAPPING[type] - if repeated: - return array - return scalar
    + def _new_default(unused_message: Optional[Message] = None) -> Any: + return xydata_pb2.DoubleXYData() -
    [docs] @staticmethod - def get_type_default(type: type_pb2.Field.Kind.ValueType, repeated: bool) -> Any: - """Get the Type default. + def message_decoder(field_index: int, key: Key) -> Decoder: + is_repeated = True + is_packed = True + return decoder(field_index, is_repeated, is_packed, key, _new_default) - Args - ---- - type (type_pb2.Field.Kind.ValueType): Type of the Parameter. + return message_decoder - repeated (bool): Boolean that represents if the Parameter is repeated or not. - Returns - ------- - Any: Default value. +# Cast works around this issue in typeshed +# https://github.com/python/typeshed/issues/10695 +FloatEncoder = _scalar_encoder(cast(EncoderConstructor, encoder.FloatEncoder)) +DoubleEncoder = _scalar_encoder(cast(EncoderConstructor, encoder.DoubleEncoder)) +IntEncoder = _scalar_encoder(cast(EncoderConstructor, encoder.Int32Encoder)) +UIntEncoder = _scalar_encoder(cast(EncoderConstructor, encoder.UInt32Encoder)) +BoolEncoder = _scalar_encoder(encoder.BoolEncoder) +StringEncoder = _scalar_encoder(encoder.StringEncoder) +MessageEncoder = _scalar_encoder(cast(EncoderConstructor, _message._message_encoder_constructor)) - """ +FloatArrayEncoder = _vector_encoder(cast(EncoderConstructor, encoder.FloatEncoder)) +DoubleArrayEncoder = _vector_encoder(cast(EncoderConstructor, encoder.DoubleEncoder)) +IntArrayEncoder = _vector_encoder(cast(EncoderConstructor, encoder.Int32Encoder)) +UIntArrayEncoder = _vector_encoder(cast(EncoderConstructor, encoder.UInt32Encoder)) +BoolArrayEncoder = _vector_encoder(encoder.BoolEncoder) +StringArrayEncoder = _vector_encoder(encoder.StringEncoder, is_packed=False) +UnsupportedMessageArrayEncoder = _vector_encoder(_unsupported_encoder) + +# Cast works around this issue in typeshed +# https://github.com/python/typeshed/issues/10697 +FloatDecoder = _scalar_decoder(cast(DecoderConstructor, decoder.FloatDecoder)) +DoubleDecoder = _scalar_decoder(cast(DecoderConstructor, decoder.DoubleDecoder)) +Int32Decoder = _scalar_decoder(cast(DecoderConstructor, decoder.Int32Decoder)) +UInt32Decoder = _scalar_decoder(cast(DecoderConstructor, decoder.UInt32Decoder)) +Int64Decoder = _scalar_decoder(cast(DecoderConstructor, decoder.Int64Decoder)) +UInt64Decoder = _scalar_decoder(cast(DecoderConstructor, decoder.UInt64Decoder)) +BoolDecoder = _scalar_decoder(cast(DecoderConstructor, decoder.BoolDecoder)) +StringDecoder = _scalar_decoder(cast(DecoderConstructor, decoder.StringDecoder)) +XYDataDecoder = _double_xy_data_decoder(_message._message_decoder_constructor) + +FloatArrayDecoder = _vector_decoder(cast(DecoderConstructor, decoder.FloatDecoder)) +DoubleArrayDecoder = _vector_decoder(cast(DecoderConstructor, decoder.DoubleDecoder)) +Int32ArrayDecoder = _vector_decoder(cast(DecoderConstructor, decoder.Int32Decoder)) +UInt32ArrayDecoder = _vector_decoder(cast(DecoderConstructor, decoder.UInt32Decoder)) +Int64ArrayDecoder = _vector_decoder(cast(DecoderConstructor, decoder.Int64Decoder)) +UInt64ArrayDecoder = _vector_decoder(cast(DecoderConstructor, decoder.UInt64Decoder)) +BoolArrayDecoder = _vector_decoder(cast(DecoderConstructor, decoder.BoolDecoder)) +StringArrayDecoder = _vector_decoder( + cast(DecoderConstructor, decoder.StringDecoder), is_packed=False +) + + +_FIELD_TYPE_TO_ENCODER_MAPPING = { + type_pb2.Field.TYPE_FLOAT: (FloatEncoder, FloatArrayEncoder), + type_pb2.Field.TYPE_DOUBLE: (DoubleEncoder, DoubleArrayEncoder), + type_pb2.Field.TYPE_INT32: (IntEncoder, IntArrayEncoder), + type_pb2.Field.TYPE_INT64: (IntEncoder, IntArrayEncoder), + type_pb2.Field.TYPE_UINT32: (UIntEncoder, UIntArrayEncoder), + type_pb2.Field.TYPE_UINT64: (UIntEncoder, UIntArrayEncoder), + type_pb2.Field.TYPE_BOOL: (BoolEncoder, BoolArrayEncoder), + type_pb2.Field.TYPE_STRING: (StringEncoder, StringArrayEncoder), + type_pb2.Field.TYPE_ENUM: (IntEncoder, IntArrayEncoder), + type_pb2.Field.TYPE_MESSAGE: (MessageEncoder, UnsupportedMessageArrayEncoder), +} + +_FIELD_TYPE_TO_DECODER_MAPPING = { + type_pb2.Field.TYPE_FLOAT: (FloatDecoder, FloatArrayDecoder), + type_pb2.Field.TYPE_DOUBLE: (DoubleDecoder, DoubleArrayDecoder), + type_pb2.Field.TYPE_INT32: (Int32Decoder, Int32ArrayDecoder), + type_pb2.Field.TYPE_INT64: (Int64Decoder, Int64ArrayDecoder), + type_pb2.Field.TYPE_UINT32: (UInt32Decoder, UInt32ArrayDecoder), + type_pb2.Field.TYPE_UINT64: (UInt64Decoder, UInt64ArrayDecoder), + type_pb2.Field.TYPE_BOOL: (BoolDecoder, BoolArrayDecoder), + type_pb2.Field.TYPE_STRING: (StringDecoder, StringArrayDecoder), + type_pb2.Field.TYPE_ENUM: (Int32Decoder, Int32ArrayDecoder), +} + +_TYPE_DEFAULT_MAPPING = { + type_pb2.Field.TYPE_FLOAT: float(), + type_pb2.Field.TYPE_DOUBLE: float(), + type_pb2.Field.TYPE_INT32: int(), + type_pb2.Field.TYPE_INT64: int(), + type_pb2.Field.TYPE_UINT32: int(), + type_pb2.Field.TYPE_UINT64: int(), + type_pb2.Field.TYPE_BOOL: bool(), + type_pb2.Field.TYPE_STRING: str(), + type_pb2.Field.TYPE_ENUM: int(), +} + +_MESSAGE_TYPE_TO_DECODER = { + xydata_pb2.DoubleXYData.DESCRIPTOR.full_name: XYDataDecoder, +} + + +
    [docs]def get_encoder(type: type_pb2.Field.Kind.ValueType, repeated: bool) -> PartialEncoderConstructor: + """Get the appropriate partial encoder constructor for the specified type. + + A scalar or vector constructor is returned based on the 'repeated' parameter. + """ + if type not in _FIELD_TYPE_TO_ENCODER_MAPPING: + raise ValueError(f"Error can not encode type '{type}'") + scalar, array = _FIELD_TYPE_TO_ENCODER_MAPPING[type] + if repeated: + return array + return scalar
    + + +
    [docs]def get_decoder( + type: type_pb2.Field.Kind.ValueType, repeated: bool, message_type: str = "" +) -> PartialDecoderConstructor: + """Get the appropriate partial decoder constructor for the specified type.""" + decoder_mapping = _FIELD_TYPE_TO_DECODER_MAPPING.get(type) + if decoder_mapping is not None: + scalar_decoder, array_decoder = decoder_mapping + return array_decoder if repeated else scalar_decoder + elif type == type_pb2.Field.Kind.TYPE_MESSAGE: if repeated: - return list() - type_default_value = Context._TYPE_DEFAULT_MAPPING.get(type) - return type_default_value
    + raise ValueError(f"Repeated message types are not supported '{message_type}'") + decoder = _MESSAGE_TYPE_TO_DECODER.get(message_type) + if decoder is None: + raise ValueError(f"Unknown message type '{message_type}'") + return decoder + else: + raise ValueError(f"Error can not decode type '{type}'")
    + + +
    [docs]def get_type_default(type: type_pb2.Field.Kind.ValueType, repeated: bool) -> Any: + """Get the default value for the give type.""" + if repeated: + return list() + type_default_value = _TYPE_DEFAULT_MAPPING.get(type) + return type_default_value

    diff --git a/docs/_modules/ni_measurementlink_service/_internal/parameter/serializer.html b/docs/_modules/ni_measurementlink_service/_internal/parameter/serializer.html index 8e104c3ce..6d3c6efff 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/parameter/serializer.html +++ b/docs/_modules/ni_measurementlink_service/_internal/parameter/serializer.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -77,9 +77,11 @@

    Source code for ni_measurementlink_service._internal.parameter.serializerfrom enum import Enum from io import BytesIO -from typing import Any, Dict, Sequence +from typing import Any, Dict, Sequence, cast +from google.protobuf.descriptor import FieldDescriptor from google.protobuf.internal import encoder +from google.protobuf.message import Message from ni_measurementlink_service._internal.parameter import serialization_strategy from ni_measurementlink_service._internal.parameter.metadata import ( @@ -143,11 +145,11 @@

    Source code for ni_measurementlink_service._internal.parameter.serializerserialize_buffer = BytesIO() # inner_encoder updates the serialize_buffer for i, parameter in enumerate(parameter_values): parameter_metadata = parameter_metadata_dict[i + 1] - encoder = serialization_strategy.Context.get_encoder( + encoder = serialization_strategy.get_encoder( parameter_metadata.type, parameter_metadata.repeated, ) - type_default_value = serialization_strategy.Context.get_type_default( + type_default_value = serialization_strategy.get_type_default( parameter_metadata.type, parameter_metadata.repeated, ) @@ -160,7 +162,7 @@

    Source code for ni_measurementlink_service._internal.parameter.serializer# Skipping serialization if the value is None or if its a type default value. if parameter is not None and parameter != type_default_value: inner_encoder = encoder(i + 1) - inner_encoder(serialize_buffer.write, parameter, None) + inner_encoder(serialize_buffer.write, parameter, False) return serialize_buffer.getvalue()

    @@ -183,7 +185,7 @@

    Source code for ni_measurementlink_service._internal.parameter.serializerreturn serialize_parameters(parameter_metadata_dict, default_value_parameter_array)

    -def _get_field_index(parameter_bytes: bytes, tag_position: int): +def _get_field_index(parameter_bytes: bytes, tag_position: int) -> int: """Get the Filed Index based on the tag's position. The tag Position should be the index of the TagValue in the ByteArray for valid field index. @@ -231,18 +233,19 @@

    Source code for ni_measurementlink_service._internal.parameter.serializerraise Exception( f"Error occurred while reading the parameter - given protobuf index '{field_index}' is invalid." ) - type = parameter_metadata_dict[field_index].type - is_repeated = parameter_metadata_dict[field_index].repeated - decoder = serialization_strategy.Context.get_decoder(type, is_repeated) - inner_decoder = decoder(field_index, field_index) + field_metadata = parameter_metadata_dict[field_index] + decoder = serialization_strategy.get_decoder( + field_metadata.type, field_metadata.repeated, field_metadata.message_type + ) + inner_decoder = decoder(field_index, cast(FieldDescriptor, field_index)) parameter_bytes_io = BytesIO(parameter_bytes) parameter_bytes_memory_view = parameter_bytes_io.getbuffer() position = inner_decoder( parameter_bytes_memory_view, position + encoder._TagSize(field_index), # type: ignore[attr-defined] len(parameter_bytes), - type, - overlapping_parameters_by_id, + cast(Message, None), # unused - See serialization_strategy._vector_decoder._new_default + cast(Dict[FieldDescriptor, Any], overlapping_parameters_by_id), ) return overlapping_parameters_by_id @@ -271,7 +274,7 @@

    Source code for ni_measurementlink_service._internal.parameter.serializerenum_type = _get_enum_type(value) missing_parameters[key] = enum_type(0) else: - missing_parameters[key] = serialization_strategy.Context.get_type_default( + missing_parameters[key] = serialization_strategy.get_type_default( value.type, value.repeated ) return missing_parameters diff --git a/docs/_modules/ni_measurementlink_service/_internal/service_manager.html b/docs/_modules/ni_measurementlink_service/_internal/service_manager.html index 9d838c7fb..e9c9384d4 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/service_manager.html +++ b/docs/_modules/ni_measurementlink_service/_internal/service_manager.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -95,6 +95,8 @@

    Source code for ni_measurementlink_service._internal.service_manager

    from ni_measurementlink_service.measurement.info import MeasurementInfo, ServiceInfo _logger = logging.getLogger(__name__) +_V1_INTERFACE = "ni.measurementlink.measurement.v1.MeasurementService" +_V2_INTERFACE = "ni.measurementlink.measurement.v2.MeasurementService"
    [docs]class GrpcService: @@ -160,24 +162,31 @@

    Source code for ni_measurementlink_service._internal.service_manager

    ("grpc.max_send_message_length", -1), ], ) - servicer_v1 = MeasurementServiceServicerV1( - measurement_info, - configuration_parameter_list, - output_parameter_list, - measure_function, - ) - v1_measurement_service_pb2_grpc.add_MeasurementServiceServicer_to_server( - servicer_v1, self.server - ) - servicer_v2 = MeasurementServiceServicerV2( - measurement_info, - configuration_parameter_list, - output_parameter_list, - measure_function, - ) - v2_measurement_service_pb2_grpc.add_MeasurementServiceServicer_to_server( - servicer_v2, self.server - ) + for interface in service_info.provided_interfaces: + if interface == _V1_INTERFACE: + servicer_v1 = MeasurementServiceServicerV1( + measurement_info, + configuration_parameter_list, + output_parameter_list, + measure_function, + ) + v1_measurement_service_pb2_grpc.add_MeasurementServiceServicer_to_server( + servicer_v1, self.server + ) + elif interface == _V2_INTERFACE: + servicer_v2 = MeasurementServiceServicerV2( + measurement_info, + configuration_parameter_list, + output_parameter_list, + measure_function, + ) + v2_measurement_service_pb2_grpc.add_MeasurementServiceServicer_to_server( + servicer_v2, self.server + ) + else: + raise ValueError( + f"Unknown interface was provided in the .serviceconfig file: {interface}" + ) port = str(self.server.add_insecure_port("[::]:0")) self.server.start() _logger.info("Measurement service hosted on port: %s", port) diff --git a/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc.html b/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc.html index d625663d4..d4214ff35 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc.html +++ b/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc.html b/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc.html index 51cd6ff4b..9ed474458 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc.html +++ b/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc.html b/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc.html index ab17c2522..a83bd8124 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc.html +++ b/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc.html b/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc.html index d20ccf75b..d52b558ff 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc.html +++ b/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc.html b/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc.html index 7308ece2b..e626c38c5 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc.html +++ b/docs/_modules/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/_modules/ni_measurementlink_service/_internal/stubs/session_pb2_grpc.html b/docs/_modules/ni_measurementlink_service/_internal/stubs/session_pb2_grpc.html index bd51edf04..4a291f465 100644 --- a/docs/_modules/ni_measurementlink_service/_internal/stubs/session_pb2_grpc.html +++ b/docs/_modules/ni_measurementlink_service/_internal/stubs/session_pb2_grpc.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/_modules/ni_measurementlink_service/_loggers.html b/docs/_modules/ni_measurementlink_service/_loggers.html index ad1933ff6..3009bfdba 100644 --- a/docs/_modules/ni_measurementlink_service/_loggers.html +++ b/docs/_modules/ni_measurementlink_service/_loggers.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -134,8 +134,8 @@

    Source code for ni_measurementlink_service._loggers

    call = continuation(client_call_details, request) # call.add_callback(call_logger.close) return _LoggingResponseCallFuture(call_logger, call) - except Exception: - call_logger.close() + except Exception as e: + call_logger.close(e) raise else: return continuation(client_call_details, request)
    @@ -155,8 +155,8 @@

    Source code for ni_measurementlink_service._loggers

    call_iterator = continuation(client_call_details, request) # call_iterator.add_callback(call_logger.close) return _LoggingResponseCallIterator(call_logger, call_iterator) - except Exception: - call_logger.close() + except Exception as e: + call_logger.close(e) raise else: return continuation(client_call_details, request)
    @@ -178,8 +178,8 @@

    Source code for ni_measurementlink_service._loggers

    ) # call.add_callback(call_logger.close) return _LoggingResponseCallFuture(call_logger, call) - except Exception: - call_logger.close() + except Exception as e: + call_logger.close(e) raise else: return continuation(client_call_details, request_iterator)
    @@ -201,8 +201,8 @@

    Source code for ni_measurementlink_service._loggers

    ) # call_iterator.add_callback(call_logger.close) return _LoggingResponseCallIterator(call_logger, call_iterator) - except Exception: - call_logger.close() + except Exception as e: + call_logger.close(e) raise else: return continuation(client_call_details, request_iterator)
    @@ -279,8 +279,8 @@

    Source code for ni_measurementlink_service._loggers

    ) -> Iterator[grpc.TResponse]: try: return _LoggingResponseIterator(call_logger, handler_function(request, context)) - except Exception: - call_logger.close() + except Exception as e: + call_logger.close(e) raise def _log_stream_unary( @@ -307,8 +307,8 @@

    Source code for ni_measurementlink_service._loggers

    call_logger, handler_function(_LoggingRequestIterator(call_logger, request_iterator), context), ) - except Exception: - call_logger.close() + except Exception as e: + call_logger.close(e) raise
    @@ -466,9 +466,12 @@

    Source code for ni_measurementlink_service._loggers

    response = next(self._inner_iterator) self._call_logger.log_streaming_response() return response - except (StopIteration, Exception): + except StopIteration: self._call_logger.close() raise + except Exception as e: + self._call_logger.close(e) + raise if TYPE_CHECKING: @@ -539,9 +542,12 @@

    Source code for ni_measurementlink_service._loggers

    response = next(self._inner_call_iterator) # type: ignore[call-overload] self._call_logger.log_streaming_response() return response - except (StopIteration, Exception): + except StopIteration: self._call_logger.close() raise + except Exception as e: + self._call_logger.close(e) + raise
    diff --git a/docs/_modules/ni_measurementlink_service/_tracelogging.html b/docs/_modules/ni_measurementlink_service/_tracelogging.html index dd8f06720..c3b357fa1 100644 --- a/docs/_modules/ni_measurementlink_service/_tracelogging.html +++ b/docs/_modules/ni_measurementlink_service/_tracelogging.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/_modules/ni_measurementlink_service/measurement/info.html b/docs/_modules/ni_measurementlink_service/measurement/info.html index 6e5e4b599..a3e31904d 100644 --- a/docs/_modules/ni_measurementlink_service/measurement/info.html +++ b/docs/_modules/ni_measurementlink_service/measurement/info.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -73,7 +73,7 @@

    Source code for ni_measurementlink_service.measurement.info

    -"""Contains classes and enums to represent measurement metadata."""
    +"""Measurement service metadata classes and enums."""
     from __future__ import annotations
     
     import enum
    @@ -82,50 +82,56 @@ 

    Source code for ni_measurementlink_service.measurement.info

    [docs]class MeasurementInfo(NamedTuple): - """Class that represents the measurement information. - - Attributes - ---------- - display_name (str): The measurement display name for client to display to user. - - version (str): The measurement version that helps to - maintain versions of a measurement in future. - - ui_file_paths (list): Absolute paths of the UI file(s) linked to the measurement. - - """ + """A named tuple providing information about a measurement.""" display_name: str - version: str - ui_file_paths: List[Path]
    - - -
    [docs]class ServiceInfo(NamedTuple): - """Class that represents the service information. - - Attributes - ---------- - service_class (str): Service class that the measurement belongs to. - Measurements under same service class expected to perform same logic. - For e.g., different version of measurement can come under same service class. + """The user visible name of the measurement.""" + version: str + """The current version of the measurement.""" - description_url (str): Description URL of the measurement. + ui_file_paths: List[Path] + """Absolute paths to user interface files for the measurement (e.g. ``.measui`` or ``.vi`` + files)."""
    - provided_interfaces (List[str]): List of interfaces the service provides. - For e.g., ni.measurementlink.measurement.v2.MeasurementService. - Defaults to ["ni.measurementlink.measurement.v1.MeasurementService"]. - annotations (Dict[str,str]): Dict that contains extra information of the measurement. - As default we added a (str) description, (str) collection and a (List[str]) list of tags. - Feel free to add your own Annotations as needed. +
    [docs]class ServiceInfo(NamedTuple): + """A named tuple providing information about a registered service. + This class is used with the MeasurementLink discovery service when registering and enumerating + services. """ service_class: str + """"The "class" of a service. The value of this field should be unique for a given interface + in ``provided_interfaces``. In effect, the ``.proto`` service declaration defines the + interface, and this field defines a class or concrete type of the interface.""" + description_url: str + """The URL of a web page that provides a description of the service.""" + provided_interfaces: List[str] = ["ni.measurementlink.measurement.v1.MeasurementService"] - annotations: Dict[str, str] = {}
    + """The service interfaces provided by the service. These are gRPC full names for the service.""" + + annotations: Dict[str, str] = {} + """Represents a set of annotations on the service. + + Well-known annotations: + + - Description + - Key: "ni/service.description" + - Expected format: string + - Example: "Measure inrush current with a shorted load and validate results against + configured limits." + - Collection + - Key: "ni/service.collection" + - Expected format: "." delimited namespace/hierarchy case-insensitive string + - Example: "CurrentTests.Inrush" + - Tags + - Key: "ni/service.tags" + - Expected format: serialized JSON string of an array of strings + - Example: "[\"powerup\", \"current\"]" + """
    [docs]class TypeSpecialization(enum.Enum): diff --git a/docs/_modules/ni_measurementlink_service/measurement/service.html b/docs/_modules/ni_measurementlink_service/measurement/service.html index 522767b9c..fcece6d78 100644 --- a/docs/_modules/ni_measurementlink_service/measurement/service.html +++ b/docs/_modules/ni_measurementlink_service/measurement/service.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -82,7 +82,6 @@

    Source code for ni_measurementlink_service.measurement.service

    from enum import Enum, EnumMeta from os import path from pathlib import Path -from threading import Lock from types import TracebackType from typing import ( TYPE_CHECKING, @@ -101,13 +100,15 @@

    Source code for ni_measurementlink_service.measurement.service

    from google.protobuf.descriptor import EnumDescriptor from ni_measurementlink_service import _datatypeinfo +from ni_measurementlink_service._channelpool import ( # re-export + GrpcChannelPool as GrpcChannelPool, +) from ni_measurementlink_service._internal import grpc_servicer from ni_measurementlink_service._internal.discovery_client import DiscoveryClient from ni_measurementlink_service._internal.parameter import ( metadata as parameter_metadata, ) from ni_measurementlink_service._internal.service_manager import GrpcService -from ni_measurementlink_service._loggers import ClientLogger from ni_measurementlink_service.measurement.info import ( DataType, MeasurementInfo, @@ -124,6 +125,11 @@

    Source code for ni_measurementlink_service.measurement.service

    else: from typing_extensions import TypeGuard + if sys.version_info >= (3, 11): + from typing import Self + else: + from typing_extensions import Self + SupportedEnumType = Union[Type[Enum], _EnumTypeWrapper] @@ -158,65 +164,7 @@

    Source code for ni_measurementlink_service.measurement.service

    grpc_servicer.measurement_service_context.get().abort(code, details)
    -# Eventually, these can be replaced with typing.Self (Python >= 3.11). -_TGrpcChannelPool = TypeVar("_TGrpcChannelPool", bound="GrpcChannelPool") -_TMeasurementService = TypeVar("_TMeasurementService", bound="MeasurementService") - - -
    [docs]class GrpcChannelPool(object): - """Class that manages gRPC channel lifetimes.""" - - def __init__(self) -> None: - """Initialize the GrpcChannelPool object.""" - self._lock: Lock = Lock() - self._channel_cache: Dict[str, grpc.Channel] = {} - -
    [docs] def __enter__(self: _TGrpcChannelPool) -> _TGrpcChannelPool: - """Enter the runtime context of the GrpcChannelPool.""" - return self
    - -
    [docs] def __exit__( - self, - exc_type: Optional[Type[BaseException]], - exc_val: Optional[BaseException], - traceback: Optional[TracebackType], - ) -> Literal[False]: - """Exit the runtime context of the GrpcChannelPool.""" - self.close() - return False
    - -
    [docs] def get_channel(self, target: str) -> grpc.Channel: - """Return a gRPC channel. - - Args: - target (str): The server address - - """ - new_channel = None - with self._lock: - if target not in self._channel_cache: - self._lock.release() - new_channel = grpc.insecure_channel(target) - if ClientLogger.is_enabled(): - new_channel = grpc.intercept_channel(new_channel, ClientLogger()) - self._lock.acquire() - if target not in self._channel_cache: - self._channel_cache[target] = new_channel - new_channel = None - channel = self._channel_cache[target] - - # Close new_channel if it was not stored in _channel_cache. - if new_channel is not None: - new_channel.close() - - return channel
    - -
    [docs] def close(self) -> None: - """Close channels opened by get_channel().""" - with self._lock: - for channel in self._channel_cache.values(): - channel.close() - self._channel_cache.clear()
    +_F = TypeVar("_F", bound=Callable)
    [docs]class MeasurementService: @@ -314,7 +262,7 @@

    Source code for ni_measurementlink_service.measurement.service

    self.channel_pool: GrpcChannelPool = GrpcChannelPool() self.discovery_client: DiscoveryClient = DiscoveryClient() -
    [docs] def register_measurement(self, measurement_function: Callable) -> Callable: +
    [docs] def register_measurement(self, measurement_function: _F) -> _F: """Register a function as the measurement function for a measurement service. To declare a measurement function, use this idiom: @@ -343,7 +291,7 @@

    Source code for ni_measurementlink_service.measurement.service

    *, instrument_type: str = "", enum_type: Optional[SupportedEnumType] = None, - ) -> Callable: + ) -> Callable[[_F], _F]: """Add a configuration parameter to a measurement function. This decorator maps the measurement service's configuration parameters @@ -395,7 +343,7 @@

    Source code for ni_measurementlink_service.measurement.service

    parameter_metadata.validate_default_value_type(parameter) self.configuration_parameter_list.append(parameter) - def _configuration(func): + def _configuration(func: _F) -> _F: return func return _configuration
    @@ -406,7 +354,7 @@

    Source code for ni_measurementlink_service.measurement.service

    type: DataType, *, enum_type: Optional[SupportedEnumType] = None, - ) -> Callable: + ) -> Callable[[_F], _F]: """Add an output parameter to a measurement function. This decorator maps the measurement service's output parameters to @@ -448,7 +396,7 @@

    Source code for ni_measurementlink_service.measurement.service

    ) self.output_parameter_list.append(parameter) - def _output(func): + def _output(func: _F) -> _F: return func return _output
    @@ -526,7 +474,7 @@

    Source code for ni_measurementlink_service.measurement.service

    self.grpc_service.stop() self.channel_pool.close()
    -
    [docs] def __enter__(self: _TMeasurementService) -> _TMeasurementService: +
    [docs] def __enter__(self: Self) -> Self: """Enter the runtime context related to the measurement service.""" return self
    diff --git a/docs/_modules/ni_measurementlink_service/session_management.html b/docs/_modules/ni_measurementlink_service/session_management.html index b8d8bed38..82ac4d135 100644 --- a/docs/_modules/ni_measurementlink_service/session_management.html +++ b/docs/_modules/ni_measurementlink_service/session_management.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -77,10 +77,21 @@

    Source code for ni_measurementlink_service.session_management

    from __future__ import annotations import abc +import sys import warnings from functools import cached_property from types import TracebackType -from typing import Any, Iterable, List, Literal, NamedTuple, Optional, Sequence, Type, TypeVar +from typing import ( + TYPE_CHECKING, + Any, + Iterable, + List, + Literal, + NamedTuple, + Optional, + Sequence, + Type, +) import grpc from deprecation import DeprecatedWarning @@ -94,6 +105,12 @@

    Source code for ni_measurementlink_service.session_management

    session_management_service_pb2_grpc, ) +if TYPE_CHECKING: + if sys.version_info >= (3, 11): + from typing import Self + else: + from typing_extensions import Self + GRPC_SERVICE_INTERFACE_NAME = "ni.measurementlink.sessionmanagement.v1.SessionManagementService" GRPC_SERVICE_CLASS = "ni.measurementlink.sessionmanagement.v1.SessionManagementService" @@ -240,10 +257,6 @@

    Source code for ni_measurementlink_service.session_management

    ) -# Eventually, this can be replaced with typing.Self (Python >= 3.11). -_TReservation = TypeVar("_TReservation", bound="BaseReservation") - -
    [docs]class BaseReservation(abc.ABC): """Manages session reservation.""" @@ -256,7 +269,7 @@

    Source code for ni_measurementlink_service.session_management

    self._session_manager = session_manager self._session_info = session_info -
    [docs] def __enter__(self: _TReservation) -> _TReservation: +
    [docs] def __enter__(self: Self) -> Self: """Context management protocol. Returns self.""" return self
    @@ -310,7 +323,7 @@

    Source code for ni_measurementlink_service.session_management

    raise AttributeError(f"module {__name__} has no attribute {name}")
    -
    [docs]class Client(object): +
    [docs]class SessionManagementClient(object): """Class that manages driver sessions.""" def __init__(self, *, grpc_channel: grpc.Channel) -> None: @@ -319,7 +332,7 @@

    Source code for ni_measurementlink_service.session_management

    session_management_service_pb2_grpc.SessionManagementServiceStub(grpc_channel) ) -
    [docs] def reserve_session( +
    [docs] def reserve_session( self, context: PinMapContext, pin_or_relay_names: Optional[Iterable[str]] = None, @@ -378,7 +391,7 @@

    Source code for ni_measurementlink_service.session_management

    else: return SingleSessionReservation(session_manager=self, session_info=session_info)
    -
    [docs] def reserve_sessions( +
    [docs] def reserve_sessions( self, context: PinMapContext, pin_or_relay_names: Optional[Iterable[str]] = None, @@ -466,7 +479,7 @@

    Source code for ni_measurementlink_service.session_management

    request = session_management_service_pb2.UnreserveSessionsRequest(sessions=session_info) self._client.UnreserveSessions(request) -
    [docs] def register_sessions(self, session_info: Iterable[SessionInformation]) -> None: +
    [docs] def register_sessions(self, session_info: Iterable[SessionInformation]) -> None: """Register the sessions with the Session Manager. Indicates that the sessions are open and will need to be closed later. @@ -503,7 +516,7 @@

    Source code for ni_measurementlink_service.session_management

    ) self._client.RegisterSessions(request)
    -
    [docs] def unregister_sessions(self, session_info: Iterable[SessionInformation]) -> None: +
    [docs] def unregister_sessions(self, session_info: Iterable[SessionInformation]) -> None: """Unregisters the sessions from the Session Manager. Indicates that the sessions have been closed and will need to be reopened before they can be @@ -535,7 +548,7 @@

    Source code for ni_measurementlink_service.session_management

    ) self._client.UnregisterSessions(request)
    -
    [docs] def reserve_all_registered_sessions( +
    [docs] def reserve_all_registered_sessions( self, instrument_type_id: Optional[str] = None, timeout: Optional[float] = None ) -> MultiSessionReservation: """Reserves and gets all sessions currently registered in the Session Manager. @@ -580,6 +593,10 @@

    Source code for ni_measurementlink_service.session_management

    self._client.ReserveAllRegisteredSessions(request) ) return MultiSessionReservation(session_manager=self, session_info=response.sessions)
    + + +Client = SessionManagementClient +"""Alias for compatibility with code that uses session_management.Client."""
    diff --git a/docs/_sources/autoapi/ni_measurementlink_service/_channelpool/index.rst.txt b/docs/_sources/autoapi/ni_measurementlink_service/_channelpool/index.rst.txt new file mode 100644 index 000000000..a712c2723 --- /dev/null +++ b/docs/_sources/autoapi/ni_measurementlink_service/_channelpool/index.rst.txt @@ -0,0 +1,51 @@ +:orphan: + +:py:mod:`ni_measurementlink_service._channelpool` +================================================= + +.. py:module:: ni_measurementlink_service._channelpool + + +Module Contents +--------------- + +Classes +~~~~~~~ + +.. autoapisummary:: + + ni_measurementlink_service._channelpool.GrpcChannelPool + + + + +.. py:class:: GrpcChannelPool + + Bases: :py:obj:`object` + + Class that manages gRPC channel lifetimes. + + .. py:method:: __enter__() + + Enter the runtime context of the GrpcChannelPool. + + + .. py:method:: __exit__(exc_type, exc_val, traceback) + + Exit the runtime context of the GrpcChannelPool. + + + .. py:method:: get_channel(target) + + Return a gRPC channel. + + :param target: The server address + :type target: str + + + .. py:method:: close() + + Close channels opened by get_channel(). + + + diff --git a/docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.rst.txt b/docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.rst.txt new file mode 100644 index 000000000..43e1e0bfa --- /dev/null +++ b/docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.rst.txt @@ -0,0 +1,16 @@ +:orphan: + +:py:mod:`ni_measurementlink_service._internal.parameter._message` +================================================================= + +.. py:module:: ni_measurementlink_service._internal.parameter._message + + +Module Contents +--------------- + +.. py:data:: T + + + + diff --git a/docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.rst.txt b/docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.rst.txt new file mode 100644 index 000000000..8e75fc26a --- /dev/null +++ b/docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.rst.txt @@ -0,0 +1,56 @@ +:orphan: + +:py:mod:`ni_measurementlink_service._internal.parameter._serializer_types` +========================================================================== + +.. py:module:: ni_measurementlink_service._internal.parameter._serializer_types + + +Module Contents +--------------- + +.. py:data:: Key + :annotation: :TypeAlias + + + +.. py:data:: WriteFunction + :annotation: :TypeAlias + + + +.. py:data:: Encoder + :annotation: :TypeAlias + + + +.. py:data:: PartialEncoderConstructor + :annotation: :TypeAlias + + + +.. py:data:: EncoderConstructor + :annotation: :TypeAlias + + + +.. py:data:: Decoder + :annotation: :TypeAlias + + + +.. py:data:: PartialDecoderConstructor + :annotation: :TypeAlias + + + +.. py:data:: NewDefault + :annotation: :TypeAlias + + + +.. py:data:: DecoderConstructor + :annotation: :TypeAlias + + + diff --git a/docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index.rst.txt b/docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index.rst.txt index c08aedd3c..24fc9bc6f 100644 --- a/docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index.rst.txt +++ b/docs/_sources/autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index.rst.txt @@ -12,13 +12,15 @@ Module Contents --------------- -Classes -~~~~~~~ -.. autoapisummary:: +Functions +~~~~~~~~~ - ni_measurementlink_service._internal.parameter.serialization_strategy.Context +.. autoapisummary:: + ni_measurementlink_service._internal.parameter.serialization_strategy.get_encoder + ni_measurementlink_service._internal.parameter.serialization_strategy.get_decoder + ni_measurementlink_service._internal.parameter.serialization_strategy.get_type_default @@ -33,12 +35,14 @@ Attributes ni_measurementlink_service._internal.parameter.serialization_strategy.UIntEncoder ni_measurementlink_service._internal.parameter.serialization_strategy.BoolEncoder ni_measurementlink_service._internal.parameter.serialization_strategy.StringEncoder + ni_measurementlink_service._internal.parameter.serialization_strategy.MessageEncoder ni_measurementlink_service._internal.parameter.serialization_strategy.FloatArrayEncoder ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleArrayEncoder ni_measurementlink_service._internal.parameter.serialization_strategy.IntArrayEncoder ni_measurementlink_service._internal.parameter.serialization_strategy.UIntArrayEncoder ni_measurementlink_service._internal.parameter.serialization_strategy.BoolArrayEncoder ni_measurementlink_service._internal.parameter.serialization_strategy.StringArrayEncoder + ni_measurementlink_service._internal.parameter.serialization_strategy.UnsupportedMessageArrayEncoder ni_measurementlink_service._internal.parameter.serialization_strategy.FloatDecoder ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleDecoder ni_measurementlink_service._internal.parameter.serialization_strategy.Int32Decoder @@ -47,6 +51,7 @@ Attributes ni_measurementlink_service._internal.parameter.serialization_strategy.UInt64Decoder ni_measurementlink_service._internal.parameter.serialization_strategy.BoolDecoder ni_measurementlink_service._internal.parameter.serialization_strategy.StringDecoder + ni_measurementlink_service._internal.parameter.serialization_strategy.XYDataDecoder ni_measurementlink_service._internal.parameter.serialization_strategy.FloatArrayDecoder ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleArrayDecoder ni_measurementlink_service._internal.parameter.serialization_strategy.Int32ArrayDecoder @@ -87,6 +92,11 @@ Attributes +.. py:data:: MessageEncoder + + + + .. py:data:: FloatArrayEncoder @@ -117,6 +127,11 @@ Attributes +.. py:data:: UnsupportedMessageArrayEncoder + + + + .. py:data:: FloatDecoder @@ -157,6 +172,11 @@ Attributes +.. py:data:: XYDataDecoder + + + + .. py:data:: FloatArrayDecoder @@ -197,67 +217,20 @@ Attributes -.. py:class:: Context - - Strategy context. - - .. py:method:: get_encoder(type, repeated) - :staticmethod: - - Get the Scalar Encoder or Vector Encoder for the specified type based on repeated bool. - - Args - ---- - type (type_pb2.Field.Kind.ValueType): Type of the Parameter. - - repeated (bool): Boolean that represents if the Parameter is repeated or not. - - Raises - ------ - Exception: If the specified type is not supported. - - Returns - ------- - Callable[[int], Callable]: ScalarEncoder or VectorEncoder. - - - - .. py:method:: get_decoder(type, repeated) - :staticmethod: - - Get the Scalar Decoder or Vector Decoder for the specified type based on repeated bool. - - Args - ---- - type (type_pb2.Field.Kind.ValueType): Type of the Parameter. - - repeated (bool): Boolean that represents if the Parameter is repeated or not. - - Raises - ------ - Exception: If the specified type is not supported. - - Returns - ------- - Callable[[int], Callable]: ScalarDecoder or VectorDecoder. - +.. py:function:: get_encoder(type, repeated) + Get the appropriate partial encoder constructor for the specified type. - .. py:method:: get_type_default(type, repeated) - :staticmethod: + A scalar or vector constructor is returned based on the 'repeated' parameter. - Get the Type default. - Args - ---- - type (type_pb2.Field.Kind.ValueType): Type of the Parameter. +.. py:function:: get_decoder(type, repeated, message_type = '') - repeated (bool): Boolean that represents if the Parameter is repeated or not. + Get the appropriate partial decoder constructor for the specified type. - Returns - ------- - Any: Default value. +.. py:function:: get_type_default(type, repeated) + Get the default value for the give type. diff --git a/docs/_sources/autoapi/ni_measurementlink_service/index.rst.txt b/docs/_sources/autoapi/ni_measurementlink_service/index.rst.txt index 4cbc69551..a042347ca 100644 --- a/docs/_sources/autoapi/ni_measurementlink_service/index.rst.txt +++ b/docs/_sources/autoapi/ni_measurementlink_service/index.rst.txt @@ -169,77 +169,71 @@ Classes Bases: :py:obj:`NamedTuple` - Class that represents the measurement information. - - Attributes - ---------- - display_name (str): The measurement display name for client to display to user. - - version (str): The measurement version that helps to - maintain versions of a measurement in future. - - ui_file_paths (list): Absolute paths of the UI file(s) linked to the measurement. - + A named tuple providing information about a measurement. .. py:attribute:: display_name :annotation: :str - + The user visible name of the measurement. .. py:attribute:: version :annotation: :str - + The current version of the measurement. .. py:attribute:: ui_file_paths :annotation: :List[pathlib.Path] - + Absolute paths to user interface files for the measurement (e.g. ``.measui`` or ``.vi`` + files). .. py:class:: ServiceInfo Bases: :py:obj:`NamedTuple` - Class that represents the service information. - - Attributes - ---------- - service_class (str): Service class that the measurement belongs to. - Measurements under same service class expected to perform same logic. - For e.g., different version of measurement can come under same service class. - - - description_url (str): Description URL of the measurement. - - provided_interfaces (List[str]): List of interfaces the service provides. - For e.g., ni.measurementlink.measurement.v2.MeasurementService. - Defaults to ["ni.measurementlink.measurement.v1.MeasurementService"]. - - annotations (Dict[str,str]): Dict that contains extra information of the measurement. - As default we added a (str) description, (str) collection and a (List[str]) list of tags. - Feel free to add your own Annotations as needed. + A named tuple providing information about a registered service. + This class is used with the MeasurementLink discovery service when registering and enumerating + services. .. py:attribute:: service_class :annotation: :str - + "The "class" of a service. The value of this field should be unique for a given interface + in ``provided_interfaces``. In effect, the ``.proto`` service declaration defines the + interface, and this field defines a class or concrete type of the interface. .. py:attribute:: description_url :annotation: :str - + The URL of a web page that provides a description of the service. .. py:attribute:: provided_interfaces :annotation: :List[str] = ['ni.measurementlink.measurement.v1.MeasurementService'] - + The service interfaces provided by the service. These are gRPC full names for the service. .. py:attribute:: annotations :annotation: :Dict[str, str] - + Represents a set of annotations on the service. + + Well-known annotations: + + - Description + - Key: "ni/service.description" + - Expected format: string + - Example: "Measure inrush current with a shorted load and validate results against + configured limits." + - Collection + - Key: "ni/service.collection" + - Expected format: "." delimited namespace/hierarchy case-insensitive string + - Example: "CurrentTests.Inrush" + - Tags + - Key: "ni/service.tags" + - Expected format: serialized JSON string of an array of strings + - Example: "["powerup", "current"]" .. py:class:: MeasurementService(service_config_path, version, ui_file_paths, service_class = None) diff --git a/docs/_sources/autoapi/ni_measurementlink_service/measurement/info/index.rst.txt b/docs/_sources/autoapi/ni_measurementlink_service/measurement/info/index.rst.txt index 9343bb9ec..ef08715e2 100644 --- a/docs/_sources/autoapi/ni_measurementlink_service/measurement/info/index.rst.txt +++ b/docs/_sources/autoapi/ni_measurementlink_service/measurement/info/index.rst.txt @@ -5,7 +5,7 @@ .. autoapi-nested-parse:: - Contains classes and enums to represent measurement metadata. + Measurement service metadata classes and enums. @@ -29,77 +29,71 @@ Classes Bases: :py:obj:`NamedTuple` - Class that represents the measurement information. - - Attributes - ---------- - display_name (str): The measurement display name for client to display to user. - - version (str): The measurement version that helps to - maintain versions of a measurement in future. - - ui_file_paths (list): Absolute paths of the UI file(s) linked to the measurement. - + A named tuple providing information about a measurement. .. py:attribute:: display_name :annotation: :str - + The user visible name of the measurement. .. py:attribute:: version :annotation: :str - + The current version of the measurement. .. py:attribute:: ui_file_paths :annotation: :List[pathlib.Path] - + Absolute paths to user interface files for the measurement (e.g. ``.measui`` or ``.vi`` + files). .. py:class:: ServiceInfo Bases: :py:obj:`NamedTuple` - Class that represents the service information. - - Attributes - ---------- - service_class (str): Service class that the measurement belongs to. - Measurements under same service class expected to perform same logic. - For e.g., different version of measurement can come under same service class. - - - description_url (str): Description URL of the measurement. - - provided_interfaces (List[str]): List of interfaces the service provides. - For e.g., ni.measurementlink.measurement.v2.MeasurementService. - Defaults to ["ni.measurementlink.measurement.v1.MeasurementService"]. - - annotations (Dict[str,str]): Dict that contains extra information of the measurement. - As default we added a (str) description, (str) collection and a (List[str]) list of tags. - Feel free to add your own Annotations as needed. + A named tuple providing information about a registered service. + This class is used with the MeasurementLink discovery service when registering and enumerating + services. .. py:attribute:: service_class :annotation: :str - + "The "class" of a service. The value of this field should be unique for a given interface + in ``provided_interfaces``. In effect, the ``.proto`` service declaration defines the + interface, and this field defines a class or concrete type of the interface. .. py:attribute:: description_url :annotation: :str - + The URL of a web page that provides a description of the service. .. py:attribute:: provided_interfaces :annotation: :List[str] = ['ni.measurementlink.measurement.v1.MeasurementService'] - + The service interfaces provided by the service. These are gRPC full names for the service. .. py:attribute:: annotations :annotation: :Dict[str, str] - + Represents a set of annotations on the service. + + Well-known annotations: + + - Description + - Key: "ni/service.description" + - Expected format: string + - Example: "Measure inrush current with a shorted load and validate results against + configured limits." + - Collection + - Key: "ni/service.collection" + - Expected format: "." delimited namespace/hierarchy case-insensitive string + - Example: "CurrentTests.Inrush" + - Tags + - Key: "ni/service.tags" + - Expected format: serialized JSON string of an array of strings + - Example: "["powerup", "current"]" .. py:class:: TypeSpecialization diff --git a/docs/_sources/autoapi/ni_measurementlink_service/measurement/service/index.rst.txt b/docs/_sources/autoapi/ni_measurementlink_service/measurement/service/index.rst.txt index 3d28f5187..8a1b190fb 100644 --- a/docs/_sources/autoapi/ni_measurementlink_service/measurement/service/index.rst.txt +++ b/docs/_sources/autoapi/ni_measurementlink_service/measurement/service/index.rst.txt @@ -18,7 +18,6 @@ Classes .. autoapisummary:: ni_measurementlink_service.measurement.service.MeasurementContext - ni_measurementlink_service.measurement.service.GrpcChannelPool ni_measurementlink_service.measurement.service.MeasurementService @@ -75,36 +74,6 @@ Attributes -.. py:class:: GrpcChannelPool - - Bases: :py:obj:`object` - - Class that manages gRPC channel lifetimes. - - .. py:method:: __enter__() - - Enter the runtime context of the GrpcChannelPool. - - - .. py:method:: __exit__(exc_type, exc_val, traceback) - - Exit the runtime context of the GrpcChannelPool. - - - .. py:method:: get_channel(target) - - Return a gRPC channel. - - :param target: The server address - :type target: str - - - .. py:method:: close() - - Close channels opened by get_channel(). - - - .. py:class:: MeasurementService(service_config_path, version, ui_file_paths, service_class = None) Class that supports registering and hosting a python function as a gRPC service. diff --git a/docs/_sources/autoapi/ni_measurementlink_service/session_management/index.rst.txt b/docs/_sources/autoapi/ni_measurementlink_service/session_management/index.rst.txt index e38395c91..a45cbb672 100644 --- a/docs/_sources/autoapi/ni_measurementlink_service/session_management/index.rst.txt +++ b/docs/_sources/autoapi/ni_measurementlink_service/session_management/index.rst.txt @@ -23,7 +23,7 @@ Classes ni_measurementlink_service.session_management.BaseReservation ni_measurementlink_service.session_management.SingleSessionReservation ni_measurementlink_service.session_management.MultiSessionReservation - ni_measurementlink_service.session_management.Client + ni_measurementlink_service.session_management.SessionManagementClient @@ -58,6 +58,7 @@ Attributes ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RELAY_DRIVER ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_MODEL_BASED_INSTRUMENT ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_SWITCH_EXECUTIVE_VIRTUAL_DEVICE + ni_measurementlink_service.session_management.Client .. py:data:: GRPC_SERVICE_INTERFACE_NAME @@ -315,7 +316,7 @@ Attributes .. py:function:: __getattr__(name) -.. py:class:: Client(*, grpc_channel) +.. py:class:: SessionManagementClient(*, grpc_channel) Bases: :py:obj:`object` @@ -466,3 +467,8 @@ Attributes +.. py:data:: Client + + + Alias for compatibility with code that uses session_management.Client. + diff --git a/docs/autoapi/index.html b/docs/autoapi/index.html index e8d569473..422e60a07 100644 --- a/docs/autoapi/index.html +++ b/docs/autoapi/index.html @@ -37,7 +37,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_channelpool/index.html b/docs/autoapi/ni_measurementlink_service/_channelpool/index.html new file mode 100644 index 000000000..e48584d31 --- /dev/null +++ b/docs/autoapi/ni_measurementlink_service/_channelpool/index.html @@ -0,0 +1,157 @@ + + + + + + + ni_measurementlink_service._channelpool — ni_measurementlink_service 1.2 documentation + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + +
    + +
    +

    © Copyright 2023, National Instruments.

    +
    + + Built with Sphinx using a + theme + provided by Read the Docs. + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/docs/autoapi/ni_measurementlink_service/_datatypeinfo/index.html b/docs/autoapi/ni_measurementlink_service/_datatypeinfo/index.html index 917a98f5b..36ffc42f4 100644 --- a/docs/autoapi/ni_measurementlink_service/_datatypeinfo/index.html +++ b/docs/autoapi/ni_measurementlink_service/_datatypeinfo/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/discovery_client/index.html b/docs/autoapi/ni_measurementlink_service/_internal/discovery_client/index.html index 69fa38425..e7beb723c 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/discovery_client/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/discovery_client/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/grpc_servicer/index.html b/docs/autoapi/ni_measurementlink_service/_internal/grpc_servicer/index.html index b02bb5556..83bcbf834 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/grpc_servicer/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/grpc_servicer/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/index.html b/docs/autoapi/ni_measurementlink_service/_internal/index.html index 410a4b7f4..ba3f6b4a3 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.html b/docs/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.html new file mode 100644 index 000000000..2b61d039f --- /dev/null +++ b/docs/autoapi/ni_measurementlink_service/_internal/parameter/_message/index.html @@ -0,0 +1,116 @@ + + + + + + + ni_measurementlink_service._internal.parameter._message — ni_measurementlink_service 1.2 documentation + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    +
      +
    • + +
    • + View page source +
    • +
    +
    +
    +
    +
    + + + + +
    +
    +
    + +
    + +
    +

    © Copyright 2023, National Instruments.

    +
    + + Built with Sphinx using a + theme + provided by Read the Docs. + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/docs/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.html b/docs/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.html new file mode 100644 index 000000000..d764137a3 --- /dev/null +++ b/docs/autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.html @@ -0,0 +1,156 @@ + + + + + + + ni_measurementlink_service._internal.parameter._serializer_types — ni_measurementlink_service 1.2 documentation + + + + + + + + + + + + + + + + + +
    + + +
    + +
    +
    +
    +
      +
    • + +
    • + View page source +
    • +
    +
    +
    +
    +
    + + + + +
    +
    +
    + +
    + +
    +

    © Copyright 2023, National Instruments.

    +
    + + Built with Sphinx using a + theme + provided by Read the Docs. + + +
    +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/docs/autoapi/ni_measurementlink_service/_internal/parameter/index.html b/docs/autoapi/ni_measurementlink_service/_internal/parameter/index.html index 57aaf1ba9..dade85050 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/parameter/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/parameter/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/parameter/metadata/index.html b/docs/autoapi/ni_measurementlink_service/_internal/parameter/metadata/index.html index 0f07ab722..2f0c58691 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/parameter/metadata/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/parameter/metadata/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index.html b/docs/autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index.html index 7d3803524..a9aeb9c97 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -78,12 +78,18 @@

    Serialization Strategy.

    Module Contents

    -
    -

    Classes

    +
    +

    Functions

    - - + + + + + + + +

    Context

    Strategy context.

    get_encoder(type, repeated)

    Get the appropriate partial encoder constructor for the specified type.

    get_decoder(type, repeated[, message_type])

    Get the appropriate partial decoder constructor for the specified type.

    get_type_default(type, repeated)

    Get the default value for the give type.

    @@ -110,22 +116,28 @@

    Attributes

    StringEncoder

    -

    FloatArrayEncoder

    +

    MessageEncoder

    +

    + +

    FloatArrayEncoder

    -

    DoubleArrayEncoder

    +

    DoubleArrayEncoder

    -

    IntArrayEncoder

    +

    IntArrayEncoder

    -

    UIntArrayEncoder

    +

    UIntArrayEncoder

    -

    BoolArrayEncoder

    +

    BoolArrayEncoder

    -

    StringArrayEncoder

    +

    StringArrayEncoder

    +

    + +

    UnsupportedMessageArrayEncoder

    FloatDecoder

    @@ -152,28 +164,31 @@

    Attributes

    StringDecoder

    -

    FloatArrayDecoder

    +

    XYDataDecoder

    +

    + +

    FloatArrayDecoder

    -

    DoubleArrayDecoder

    +

    DoubleArrayDecoder

    -

    Int32ArrayDecoder

    +

    Int32ArrayDecoder

    -

    UInt32ArrayDecoder

    +

    UInt32ArrayDecoder

    -

    Int64ArrayDecoder

    +

    Int64ArrayDecoder

    -

    UInt64ArrayDecoder

    +

    UInt64ArrayDecoder

    -

    BoolArrayDecoder

    +

    BoolArrayDecoder

    -

    StringArrayDecoder

    +

    StringArrayDecoder

    @@ -208,6 +223,11 @@

    Attributesni_measurementlink_service._internal.parameter.serialization_strategy.StringEncoder
    +
    + +
    +
    @@ -238,6 +258,11 @@

    Attributesni_measurementlink_service._internal.parameter.serialization_strategy.StringArrayEncoder

    +
    + +
    +
    @@ -278,6 +303,11 @@

    Attributesni_measurementlink_service._internal.parameter.serialization_strategy.StringDecoder

    +
    + +
    +
    @@ -318,79 +348,23 @@

    Attributesni_measurementlink_service._internal.parameter.serialization_strategy.StringArrayDecoder

    -
    - -

    Strategy context.

    -
    - -

    Get the Scalar Encoder or Vector Encoder for the specified type based on repeated bool.

    -
    -

    Args

    -
    -

    type (type_pb2.Field.Kind.ValueType): Type of the Parameter.

    -

    repeated (bool): Boolean that represents if the Parameter is repeated or not.

    -
    -
    -
    -

    Raises

    -
    -

    Exception: If the specified type is not supported.

    -
    -
    -
    -

    Returns

    -
    -

    Callable[[int], Callable]: ScalarEncoder or VectorEncoder.

    -
    -
    +
    + +

    Get the appropriate partial encoder constructor for the specified type.

    +

    A scalar or vector constructor is returned based on the ‘repeated’ parameter.

    -
    - -

    Get the Scalar Decoder or Vector Decoder for the specified type based on repeated bool.

    -
    -

    Args

    -
    -

    type (type_pb2.Field.Kind.ValueType): Type of the Parameter.

    -

    repeated (bool): Boolean that represents if the Parameter is repeated or not.

    -
    -
    -
    -

    Raises

    -
    -

    Exception: If the specified type is not supported.

    -
    -
    -
    -

    Returns

    -
    -

    Callable[[int], Callable]: ScalarDecoder or VectorDecoder.

    -
    -
    -
    - -
    - -

    Get the Type default.

    -
    -

    Args

    -
    -

    type (type_pb2.Field.Kind.ValueType): Type of the Parameter.

    -

    repeated (bool): Boolean that represents if the Parameter is repeated or not.

    -
    -
    -
    -

    Returns

    -
    -

    Any: Default value.

    -
    -
    +
    + +

    Get the appropriate partial decoder constructor for the specified type.

    +
    + +

    Get the default value for the give type.

    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/parameter/serializer/index.html b/docs/autoapi/ni_measurementlink_service/_internal/parameter/serializer/index.html index 40ce00c6f..b07d3c935 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/parameter/serializer/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/parameter/serializer/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/service_manager/index.html b/docs/autoapi/ni_measurementlink_service/_internal/service_manager/index.html index ce9bcbe1d..ec8718ad1 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/service_manager/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/service_manager/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/index.html index 55ff5859d..b6ddca43d 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/index.html index 9ee549167..308946983 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/index.html index 8c0abcd7c..794db7505 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2/index.html index e9f5e1ee3..5bbca850f 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc/index.html index d576a6252..ddadc91c3 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/index.html index 058f3f852..21e6948b3 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/index.html index 27e049c91..6b7aedd4b 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/index.html index 37e9f897a..771329566 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/index.html index ae4dfd1b1..871c3c1aa 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2/index.html index 656f10a78..9d6e1f3da 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc/index.html index 5b214e874..733b1ca50 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/index.html index bdbe0a6a1..dcdecc0c6 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2/index.html index f89717afd..f07888d11 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc/index.html index 0c0146889..92dc3d23c 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2/index.html index 569895769..c4f2abceb 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2_grpc/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2_grpc/index.html index b82638014..abfa4d956 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2_grpc/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2_grpc/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/index.html index 34374be0d..e2bed3ce7 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/index.html index c54bc7950..1d8ca07bf 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2/index.html index 43a6a16c4..93bb4db9f 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc/index.html index f72fd619e..659125b12 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/index.html index b5ed75583..5ceb8c415 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/index.html index b4e17011e..64ea924f7 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2/index.html index 844cd926e..99b43e3b5 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc/index.html index de376690e..044aed9c8 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/index.html index 094bb236d..08db0d46e 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/index.html index 5f8e7cd7d..7e9a560d4 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2/index.html index 12521c184..b70379394 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2_grpc/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2_grpc/index.html index 1fc7c15b5..fd680d1ae 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2_grpc/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2_grpc/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/session_pb2/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/session_pb2/index.html index e74f7ab46..b513fdec6 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/session_pb2/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/session_pb2/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/stubs/session_pb2_grpc/index.html b/docs/autoapi/ni_measurementlink_service/_internal/stubs/session_pb2_grpc/index.html index 3e7c6ccf3..cd954c362 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/stubs/session_pb2_grpc/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/stubs/session_pb2_grpc/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_internal/utilities/index.html b/docs/autoapi/ni_measurementlink_service/_internal/utilities/index.html index 619c4a2da..146c0a0e9 100644 --- a/docs/autoapi/ni_measurementlink_service/_internal/utilities/index.html +++ b/docs/autoapi/ni_measurementlink_service/_internal/utilities/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_loggers/index.html b/docs/autoapi/ni_measurementlink_service/_loggers/index.html index a047d5ed3..7b674d8dc 100644 --- a/docs/autoapi/ni_measurementlink_service/_loggers/index.html +++ b/docs/autoapi/ni_measurementlink_service/_loggers/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/_tracelogging/index.html b/docs/autoapi/ni_measurementlink_service/_tracelogging/index.html index 6ce8a7156..1907778e0 100644 --- a/docs/autoapi/ni_measurementlink_service/_tracelogging/index.html +++ b/docs/autoapi/ni_measurementlink_service/_tracelogging/index.html @@ -35,7 +35,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/index.html b/docs/autoapi/ni_measurementlink_service/index.html index 4a1bcce1c..c2d312d34 100644 --- a/docs/autoapi/ni_measurementlink_service/index.html +++ b/docs/autoapi/ni_measurementlink_service/index.html @@ -37,7 +37,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -136,8 +136,19 @@
  • EnumArray1D
-
  • MeasurementInfo
  • -
  • ServiceInfo
  • +
  • MeasurementInfo +
  • +
  • ServiceInfo +
  • MeasurementService
  • @@ -207,10 +218,10 @@

    Classes

    MeasurementInfo

    -

    Class that represents the measurement information.

    +

    A named tuple providing information about a measurement.

    ServiceInfo

    -

    Class that represents the service information.

    +

    A named tuple providing information about a registered service.

    MeasurementService

    Class that supports registering and hosting a python function as a gRPC service.

    @@ -343,81 +354,115 @@

    Classes class ni_measurementlink_service.MeasurementInfo[source]

    Bases: NamedTuple

    -

    Class that represents the measurement information.

    -
    -

    Attributes

    -
    -

    display_name (str): The measurement display name for client to display to user.

    -

    version (str): The measurement version that helps to -maintain versions of a measurement in future.

    -

    ui_file_paths (list): Absolute paths of the UI file(s) linked to the measurement.

    -
    +

    A named tuple providing information about a measurement.

    -
    +

    The user visible name of the measurement.

    +
    -
    +

    The current version of the measurement.

    +
    -
    +

    Absolute paths to user interface files for the measurement (e.g. .measui or .vi +files).

    +
    -

    Bases: NamedTuple

    -

    Class that represents the service information.

    -
    -

    Attributes

    -
    -

    service_class (str): Service class that the measurement belongs to. -Measurements under same service class expected to perform same logic. -For e.g., different version of measurement can come under same service class.

    -

    description_url (str): Description URL of the measurement.

    -

    provided_interfaces (List[str]): List of interfaces the service provides. -For e.g., ni.measurementlink.measurement.v2.MeasurementService. -Defaults to [“ni.measurementlink.measurement.v1.MeasurementService”].

    -

    annotations (Dict[str,str]): Dict that contains extra information of the measurement. -As default we added a (str) description, (str) collection and a (List[str]) list of tags. -Feel free to add your own Annotations as needed.

    -
    +

    A named tuple providing information about a registered service.

    +

    This class is used with the MeasurementLink discovery service when registering and enumerating +services.

    -
    +

    “The “class” of a service. The value of this field should be unique for a given interface +in provided_interfaces. In effect, the .proto service declaration defines the +interface, and this field defines a class or concrete type of the interface.

    +
    -
    +

    The URL of a web page that provides a description of the service.

    +
    -
    +

    The service interfaces provided by the service. These are gRPC full names for the service.

    +
    -
    +

    Represents a set of annotations on the service.

    +

    Well-known annotations:

    +
      +
    • +
      Description
        +
      • +
        Key: “ni/service.description”
          +
        • Expected format: string

        • +
        • Example: “Measure inrush current with a shorted load and validate results against +configured limits.”

        • +
        +
        +
        +
      • +
      +
      +
      +
    • +
    • +
      Collection
        +
      • +
        Key: “ni/service.collection”
          +
        • Expected format: “.” delimited namespace/hierarchy case-insensitive string

        • +
        • Example: “CurrentTests.Inrush”

        • +
        +
        +
        +
      • +
      +
      +
      +
    • +
    • +
      Tags
        +
      • +
        Key: “ni/service.tags”
          +
        • Expected format: serialized JSON string of an array of strings

        • +
        • Example: “[“powerup”, “current”]”

        • +
        +
        +
        +
      • +
      +
      +
      +
    • +
    +
    -

    Class that supports registering and hosting a python function as a gRPC service.

    -
    -

    Attributes

    +
    +

    Attributes

    measurement_info (info.MeasurementInfo): Measurement info

    service_info(info.ServiceInfo) : Service Info

    @@ -436,7 +481,7 @@

    Attributesregister_measurement(measurement_function)[source]

    Register a function as the measurement function for a measurement service.

    To declare a measurement function, use this idiom:

    -

    ``` +

    ``` @measurement_service.register_measurement @measurement_service.configuration(“Configuration 1”, …) @measurement_service.configuration(“Configuration 2”, …) @@ -447,7 +492,7 @@

    Attributes```

    +

    ```

    See also: configuration(), output()

    @@ -499,8 +544,8 @@

    Returnsregister_measurement()

    -
    -
    Args
    +
    +
    Args

    display_name (str): Display name of the output.

    type (DataType): Data type of the output.

    @@ -509,8 +554,8 @@
    Args< supported when configuration type is DataType.Enum or DataType.EnumArray1D.

    -
    -
    Returns
    +
    +
    Returns

    Callable: Callable that takes in Any Python Function and returns the same python function.

    @@ -522,8 +567,8 @@
    Returns

    Host the registered measurement method as gRPC measurement service.

    -
    -
    Returns
    +
    +
    Returns

    MeasurementService: Context manager that can be used with a with-statement to close the service.

    @@ -559,21 +604,21 @@
    Raises get_channel(provided_interface, service_class='')[source]

    Return gRPC channel to specified service.

    -
    -
    Args
    +
    +
    Args

    provided_interface (str): The gRPC Full Name of the service.

    service_class (str): The service “class” that should be matched.

    -
    -
    Returns
    +
    +
    Returns

    grpc.Channel: A channel to the gRPC service.

    -
    -
    Raises
    +
    +
    Raises
    Exception: If service_class is not specified and there is more than one matching service

    registered.

    diff --git a/docs/autoapi/ni_measurementlink_service/measurement/index.html b/docs/autoapi/ni_measurementlink_service/measurement/index.html index eea31b5fd..2f7c36bbd 100644 --- a/docs/autoapi/ni_measurementlink_service/measurement/index.html +++ b/docs/autoapi/ni_measurementlink_service/measurement/index.html @@ -37,7 +37,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    diff --git a/docs/autoapi/ni_measurementlink_service/measurement/info/index.html b/docs/autoapi/ni_measurementlink_service/measurement/info/index.html index 947ad3430..012f59dbf 100644 --- a/docs/autoapi/ni_measurementlink_service/measurement/info/index.html +++ b/docs/autoapi/ni_measurementlink_service/measurement/info/index.html @@ -37,7 +37,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -102,8 +102,19 @@
  • DataType.EnumArray1D
  • -
  • MeasurementInfo
  • -
  • ServiceInfo
  • +
  • MeasurementInfo +
  • +
  • ServiceInfo +
  • TypeSpecialization
    • NoType
    • Pin
    • @@ -187,7 +198,7 @@
  • -
    +

    The current version of the measurement.

    +
    -
    +

    Absolute paths to user interface files for the measurement (e.g. .measui or .vi +files).

    +
    -

    Bases: NamedTuple

    -

    Class that represents the service information.

    -
    -

    Attributes

    -
    -

    service_class (str): Service class that the measurement belongs to. -Measurements under same service class expected to perform same logic. -For e.g., different version of measurement can come under same service class.

    -

    description_url (str): Description URL of the measurement.

    -

    provided_interfaces (List[str]): List of interfaces the service provides. -For e.g., ni.measurementlink.measurement.v2.MeasurementService. -Defaults to [“ni.measurementlink.measurement.v1.MeasurementService”].

    -

    annotations (Dict[str,str]): Dict that contains extra information of the measurement. -As default we added a (str) description, (str) collection and a (List[str]) list of tags. -Feel free to add your own Annotations as needed.

    -
    +

    A named tuple providing information about a registered service.

    +

    This class is used with the MeasurementLink discovery service when registering and enumerating +services.

    -
    +

    “The “class” of a service. The value of this field should be unique for a given interface +in provided_interfaces. In effect, the .proto service declaration defines the +interface, and this field defines a class or concrete type of the interface.

    +
    -
    +

    The URL of a web page that provides a description of the service.

    +
    -
    +

    The service interfaces provided by the service. These are gRPC full names for the service.

    +
    -
    +

    Represents a set of annotations on the service.

    +

    Well-known annotations:

    +
      +
    • +
      Description
        +
      • +
        Key: “ni/service.description”
          +
        • Expected format: string

        • +
        • Example: “Measure inrush current with a shorted load and validate results against +configured limits.”

        • +
        +
        +
        +
      • +
      +
      +
      +
    • +
    • +
      Collection
        +
      • +
        Key: “ni/service.collection”
          +
        • Expected format: “.” delimited namespace/hierarchy case-insensitive string

        • +
        • Example: “CurrentTests.Inrush”

        • +
        +
        +
        +
      • +
      +
      +
      +
    • +
    • +
      Tags
        +
      • +
        Key: “ni/service.tags”
          +
        • Expected format: serialized JSON string of an array of strings

        • +
        • Example: “[“powerup”, “current”]”

        • +
        +
        +
        +
      • +
      +
      +
      +
    • +
    +
    -
    diff --git a/docs/autoapi/ni_measurementlink_service/measurement/service/index.html b/docs/autoapi/ni_measurementlink_service/measurement/service/index.html index 228487099..95f669087 100644 --- a/docs/autoapi/ni_measurementlink_service/measurement/service/index.html +++ b/docs/autoapi/ni_measurementlink_service/measurement/service/index.html @@ -37,7 +37,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -68,13 +68,6 @@
  • MeasurementContext.abort()
  • -
  • GrpcChannelPool -
  • MeasurementService
  • -
  • GrpcChannelPool -
  • MeasurementService
  • @@ -163,10 +149,7 @@

    Classes

    MeasurementContext

    Proxy for the Measurement Service's context-local state.

    -

    GrpcChannelPool

    -

    Class that manages gRPC channel lifetimes.

    - -

    MeasurementService

    +

    MeasurementService

    Class that supports registering and hosting a python function as a gRPC service.

    @@ -228,42 +211,6 @@

    Attributes - -

    Bases: object

    -

    Class that manages gRPC channel lifetimes.

    -
    - -

    Enter the runtime context of the GrpcChannelPool.

    -
    - -
    - -

    Exit the runtime context of the GrpcChannelPool.

    -
    - -
    - -

    Return a gRPC channel.

    -
    -
    Parameters:
    -

    target (str) – The server address

    -
    -
    -
    - -
    - -

    Close channels opened by get_channel().

    -
    - -

    -
    diff --git a/docs/autoapi/ni_measurementlink_service/session_management/index.html b/docs/autoapi/ni_measurementlink_service/session_management/index.html index 4539c6977..8487f73c2 100644 --- a/docs/autoapi/ni_measurementlink_service/session_management/index.html +++ b/docs/autoapi/ni_measurementlink_service/session_management/index.html @@ -36,7 +36,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -108,14 +108,15 @@
  • __getattr__()
  • -
  • Client
  • __getattr__
  • -
  • Client
  • @@ -227,7 +229,7 @@

    Classes

    MultiSessionReservation

    Manages reservation for multiple sessions.

    -

    Client

    +

    SessionManagementClient

    Class that manages driver sessions.

    @@ -298,6 +300,9 @@

    Attributes

    INSTRUMENT_TYPE_NI_SWITCH_EXECUTIVE_VIRTUAL_DEVICE

    +

    Client

    +

    Alias for compatibility with code that uses session_management.Client.

    +
    @@ -566,13 +571,13 @@

    Attributes - +

    Bases: object

    Class that manages driver sessions.

    - +

    Reserve a single session.

    Reserve the session matching the given pins, sites, and instrument type ID and return the information needed to create or access the session.

    @@ -617,8 +622,8 @@

    Returns - +

    Reserve multiple sessions.

    Reserve sessions matching the given pins, sites, and instrument type ID and return the information needed to create or access the sessions.

    @@ -663,8 +668,8 @@

    Returns

    - +

    Register the sessions with the Session Manager.

    Indicates that the sessions are open and will need to be closed later.

    @@ -683,8 +688,8 @@

    Raises

    - +

    Unregisters the sessions from the Session Manager.

    Indicates that the sessions have been closed and will need to be reopened before they can be used again.

    @@ -696,8 +701,8 @@

    Raises

    - +

    Reserves and gets all sessions currently registered in the Session Manager.

    Args

    @@ -736,6 +741,12 @@

    Returns

    +
    + +

    Alias for compatibility with code that uses session_management.Client.

    +
    +

    diff --git a/docs/genindex.html b/docs/genindex.html index 2164e13da..7bb12d0c5 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -34,7 +34,7 @@ ni_measurementlink_service
    - 1.2.0-dev1 + 1.2.0-dev2
    @@ -85,6 +85,7 @@

    Index

    | G | H | I + | K | L | M | N @@ -96,12 +97,14 @@

    Index

    | T | U | V + | W + | X

    _

    -
  • Context (class in ni_measurementlink_service._internal.parameter.serialization_strategy) -
  • CreatePinMapFromXml() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService static method)
      @@ -258,6 +259,10 @@

      D

  • DataTypeInfo (class in ni_measurementlink_service._datatypeinfo) +
  • +
  • Decoder (in module ni_measurementlink_service._internal.parameter._serializer_types) +
  • +
  • DecoderConstructor (in module ni_measurementlink_service._internal.parameter._serializer_types)
  • default_value (ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata attribute)
  • @@ -286,11 +291,11 @@

    D

  • deserialize_parameters() (in module ni_measurementlink_service._internal.parameter.serializer) -
  • -
  • DiscoveryClient (class in ni_measurementlink_service._internal.discovery_client)
    • +
    • DiscoveryClient (class in ni_measurementlink_service._internal.discovery_client) +
    • DiscoveryService (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc)
    • DiscoveryServiceServicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc) @@ -337,6 +342,10 @@

      D

      E

      + -
      • EnumerateDevices() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities static method)
          @@ -399,7 +408,7 @@

          F

          G

          +

          K

          + + +
          +

          L

          +
        • MessageEncoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy) +
        • module
          • ni_measurementlink_service +
          • +
          • ni_measurementlink_service._channelpool
          • ni_measurementlink_service._datatypeinfo
          • @@ -678,6 +699,10 @@

            M

          • ni_measurementlink_service._internal.grpc_servicer
          • ni_measurementlink_service._internal.parameter +
          • +
          • ni_measurementlink_service._internal.parameter._message +
          • +
          • ni_measurementlink_service._internal.parameter._serializer_types
          • ni_measurementlink_service._internal.parameter.metadata
          • @@ -772,11 +797,20 @@

            M

            N

            + -
            +
            • ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2 @@ -940,8 +990,6 @@

              N

            • module
            -
            • ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2 @@ -1124,6 +1172,10 @@

              P

              + - + + + + + + + + +
              +
            • register_measurement_service() (ni_measurementlink_service._internal.discovery_client.DiscoveryClient method)
            • -
            • register_sessions() (ni_measurementlink_service.session_management.Client method) +
            • register_sessions() (ni_measurementlink_service.session_management.SessionManagementClient method)
            • RegisterService() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService static method) @@ -1247,11 +1299,11 @@

              R

              • +
              • SessionUtilitiesServicer (class in ni_measurementlink_service._internal.stubs.session_pb2_grpc) +
              • SessionUtilitiesStub (class in ni_measurementlink_service._internal.stubs.session_pb2_grpc)
              • SingleSessionReservation (class in ni_measurementlink_service.session_management) @@ -1377,6 +1431,8 @@

                S

                T

                - +
                +
              • UnsupportedMessageArrayEncoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy) +
              • UpdatePinMapFromXml() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService static method)
                  @@ -1496,6 +1554,22 @@

                  V

              • +

                W

                + + +
                + +

                X

                + + +
                + diff --git a/docs/index.html b/docs/index.html index 5838de95b..39a7b10bb 100644 --- a/docs/index.html +++ b/docs/index.html @@ -36,7 +36,7 @@ ni_measurementlink_service
                - 1.2.0-dev1 + 1.2.0-dev2
                diff --git a/docs/objects.inv b/docs/objects.inv index 87efa110e1ab68a9402ed8907bda1bf95bce2ac3..09a51aaeb8ea2a268fb107ccc8b1cef6bad803eb 100644 GIT binary patch delta 4181 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 diff --git a/docs/py-modindex.html b/docs/py-modindex.html index add251a08..7aa07a03d 100644 --- a/docs/py-modindex.html +++ b/docs/py-modindex.html @@ -37,7 +37,7 @@ ni_measurementlink_service
                - 1.2.0-dev1 + 1.2.0-dev2
                @@ -91,6 +91,11 @@

                Python Module Index

              ni_measurementlink_service
                  + ni_measurementlink_service._channelpool +
                  @@ -116,6 +121,16 @@

              Python Module Index

                  ni_measurementlink_service._internal.parameter
                  + ni_measurementlink_service._internal.parameter._message +
                  + ni_measurementlink_service._internal.parameter._serializer_types +
                  diff --git a/docs/search.html b/docs/search.html index a7bb3bf7e..2c245b82b 100644 --- a/docs/search.html +++ b/docs/search.html @@ -37,7 +37,7 @@ ni_measurementlink_service
              - 1.2.0-dev1 + 1.2.0-dev2
              diff --git a/docs/searchindex.js b/docs/searchindex.js index ee7b2f37e..acf8eb12d 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["autoapi/index", "autoapi/ni_measurementlink_service/_datatypeinfo/index", "autoapi/ni_measurementlink_service/_internal/discovery_client/index", "autoapi/ni_measurementlink_service/_internal/grpc_servicer/index", "autoapi/ni_measurementlink_service/_internal/index", "autoapi/ni_measurementlink_service/_internal/parameter/index", "autoapi/ni_measurementlink_service/_internal/parameter/metadata/index", "autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index", "autoapi/ni_measurementlink_service/_internal/parameter/serializer/index", "autoapi/ni_measurementlink_service/_internal/service_manager/index", "autoapi/ni_measurementlink_service/_internal/stubs/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/session_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/session_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/utilities/index", "autoapi/ni_measurementlink_service/_loggers/index", "autoapi/ni_measurementlink_service/_tracelogging/index", "autoapi/ni_measurementlink_service/index", "autoapi/ni_measurementlink_service/measurement/index", "autoapi/ni_measurementlink_service/measurement/info/index", "autoapi/ni_measurementlink_service/measurement/service/index", "autoapi/ni_measurementlink_service/session_management/index", "index"], "filenames": ["autoapi/index.rst", "autoapi/ni_measurementlink_service/_datatypeinfo/index.rst", "autoapi/ni_measurementlink_service/_internal/discovery_client/index.rst", "autoapi/ni_measurementlink_service/_internal/grpc_servicer/index.rst", "autoapi/ni_measurementlink_service/_internal/index.rst", "autoapi/ni_measurementlink_service/_internal/parameter/index.rst", "autoapi/ni_measurementlink_service/_internal/parameter/metadata/index.rst", "autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index.rst", "autoapi/ni_measurementlink_service/_internal/parameter/serializer/index.rst", "autoapi/ni_measurementlink_service/_internal/service_manager/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/session_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/session_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/utilities/index.rst", "autoapi/ni_measurementlink_service/_loggers/index.rst", "autoapi/ni_measurementlink_service/_tracelogging/index.rst", "autoapi/ni_measurementlink_service/index.rst", "autoapi/ni_measurementlink_service/measurement/index.rst", "autoapi/ni_measurementlink_service/measurement/info/index.rst", "autoapi/ni_measurementlink_service/measurement/service/index.rst", "autoapi/ni_measurementlink_service/session_management/index.rst", "index.rst"], "titles": ["API Reference", "ni_measurementlink_service._datatypeinfo", "ni_measurementlink_service._internal.discovery_client", "ni_measurementlink_service._internal.grpc_servicer", "ni_measurementlink_service._internal", "ni_measurementlink_service._internal.parameter", "ni_measurementlink_service._internal.parameter.metadata", "ni_measurementlink_service._internal.parameter.serialization_strategy", "ni_measurementlink_service._internal.parameter.serializer", "ni_measurementlink_service._internal.service_manager", "ni_measurementlink_service._internal.stubs", "ni_measurementlink_service._internal.stubs.ni", "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery", "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1", "ni_measurementlink_service._internal.stubs.ni.measurementlink", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement", "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1", "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.protobuf", "ni_measurementlink_service._internal.stubs.ni.protobuf.types", "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2", "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc", "ni_measurementlink_service._internal.stubs.session_pb2", "ni_measurementlink_service._internal.stubs.session_pb2_grpc", "ni_measurementlink_service._internal.utilities", "ni_measurementlink_service._loggers", "ni_measurementlink_service._tracelogging", "ni_measurementlink_service", "ni_measurementlink_service.measurement", "ni_measurementlink_service.measurement.info", "ni_measurementlink_service.measurement.service", "ni_measurementlink_service.session_management", "NI MeasurementLink"], "terms": {"thi": [0, 1, 6, 14, 33, 43, 46, 47], "page": [0, 48], "contain": [0, 2, 3, 5, 6, 8, 14, 43, 45, 47], "auto": [0, 10, 11, 12, 15, 16, 17, 18, 21, 26, 27, 30, 31, 34, 35], "gener": [0, 10, 11, 12, 13, 15, 16, 17, 18, 19, 21, 22, 24, 26, 27, 28, 30, 31, 32, 34, 35, 36, 38], "document": [0, 39], "1": [0, 33, 43, 45, 46, 47], "ni_measurementlink_servic": [0, 48], "measur": [0, 1, 2, 3, 4, 5, 9, 10, 11, 16, 33, 40, 43, 47], "info": [0, 1, 2, 3, 6, 9, 43, 44, 46], "servic": [0, 2, 3, 9, 14, 20, 23, 25, 29, 33, 37, 39, 43, 44, 45, 47], "session_manag": [0, 43, 46], "creat": [0, 29, 33, 47], "sphinx": 0, "autoapi": 0, "datatypeinfo": 1, "sourc": [1, 2, 3, 6, 7, 8, 9, 14, 20, 23, 29, 33, 39, 41, 42, 43, 45, 46, 47], "base": [1, 2, 3, 6, 7, 8, 14, 20, 23, 29, 33, 39, 41, 43, 45, 46, 47], "namedtupl": [1, 2, 6, 43, 45, 47], "repres": [1, 2, 6, 7, 43, 45, 47], "inform": [1, 2, 14, 20, 23, 33, 43, 45, 47], "each": [1, 47], "datatyp": [1, 6, 43, 45, 46], "enum": [1, 6, 43, 45, 46], "valu": [1, 2, 6, 7, 8, 43, 46, 47], "grpc_field_typ": 1, "field": [1, 6, 7, 47], "kind": [1, 6, 7], "associ": [1, 39, 43, 46], "repeat": [1, 6, 7], "whether": [1, 41, 42, 47], "i": [1, 2, 3, 6, 7, 14, 20, 23, 29, 33, 39, 41, 42, 43, 46, 47], "type_speci": 1, "specif": [1, 14, 39, 47], "type": [1, 6, 7, 10, 11, 14, 29, 33, 34, 43, 45, 46, 47], "when": [1, 3, 6, 14, 42, 43, 46], "value_typ": 1, "can": [1, 2, 14, 20, 23, 33, 43, 45, 46, 47], "have": [1, 33, 43, 46, 47], "more": [1, 2, 14, 43, 46], "than": [1, 2, 14, 33, 43, 46], "one": [1, 2, 14, 43, 46], "us": [1, 2, 14, 20, 23, 33, 39, 43, 46, 47], "message_typ": [1, 6], "str": [1, 2, 6, 43, 45, 46, 47], "grpc": [1, 2, 3, 6, 9, 10, 11, 12, 15, 16, 17, 18, 21, 26, 27, 30, 31, 34, 35, 41, 42, 43, 46, 47], "full": [1, 2, 6, 43, 46], "name": [1, 2, 6, 29, 33, 43, 45, 46, 47], "messag": [1, 6], "requir": [1, 6], "typemessag": [1, 6], "ignor": [1, 6], "ani": [1, 6, 7, 8, 33, 43, 46, 47], "other": [1, 6, 14, 20, 23, 33], "googl": [1, 6], "protobuf": [1, 4, 6, 10, 11, 14, 20, 23, 25, 29, 33, 39], "type_pb2": [1, 6, 7], "valuetyp": [1, 6, 7], "bool": [1, 2, 6, 7, 47], "typespeci": [1, 45], "get_type_info": 1, "data_typ": 1, "get": [1, 2, 3, 6, 7, 29, 33, 46, 47], "about": 1, "api": [2, 3, 20, 23, 48], "regist": [2, 3, 9, 14, 29, 33, 43, 46, 47], "un": [2, 9, 43, 46], "discoveri": [2, 9, 10, 11, 16, 43, 46], "serviceloc": [2, 14], "locat": [2, 14], "insecure_port": [2, 14], "ssl_authenticated_port": [2, 14], "properti": [2, 3, 46], "insecure_address": 2, "": [2, 3, 33, 43, 45, 46], "insecur": [2, 14, 20, 23, 29, 33, 39], "address": [2, 46], "format": 2, "host": [2, 3, 9, 43, 46], "port": [2, 9, 14], "ssl_authenticated_address": 2, "ssl": 2, "authent": 2, "discoverycli": [2, 9, 43, 46], "stub": [2, 3, 4], "none": [2, 9, 14, 20, 23, 29, 33, 39, 42, 43, 46, 47], "need": [2, 33, 43, 45, 47], "interact": 2, "discoveryservicestub": [2, 14], "The": [2, 6, 9, 14, 43, 45, 46, 47], "registration_id": 2, "string": [2, 8, 29, 33, 43, 45], "id": [2, 8, 29, 33, 43, 46, 47], "from": [2, 29, 47], "upon": 2, "success": 2, "registr": 2, "register_measurement_servic": 2, "service_port": 2, "service_info": [2, 9, 43, 46], "measurement_info": [2, 3, 9, 43, 46], "number": [2, 9, 14, 29, 33, 47], "serviceinfo": [2, 9, 43, 45, 46], "display_nam": [2, 6, 14, 43, 45, 46], "displai": [2, 6, 43, 45, 46], "boolean": [2, 7, 43, 45], "unregister_servic": 2, "should": [2, 43, 46, 47], "call": [2, 14, 33, 41, 42, 43, 46, 47], "befor": [2, 33, 47], "close": [2, 9, 33, 43, 46, 47], "resolve_servic": 2, "provided_interfac": [2, 14, 43, 45, 46], "service_class": [2, 14, 43, 45, 46], "resolv": [2, 14], "given": [2, 14, 33, 47], "descript": [2, 14, 43, 45], "establish": [2, 14], "commun": [2, 14], "If": [2, 6, 7, 14, 43, 46, 47], "necessari": [2, 14], "start": [2, 9, 14, 42], "ha": [2, 14, 29, 33, 42, 47], "alreadi": [2, 14, 29, 33, 47], "been": [2, 14, 33, 47], "match": [2, 6, 14, 33, 43, 46, 47], "specifi": [2, 7, 29, 33, 43, 46], "an": [2, 14, 33, 43, 46], "error": [2, 14, 29, 33], "A": [2, 43, 46], "object": [2, 14, 20, 23, 29, 33, 39, 46, 47], "implement": [3, 14, 20, 23, 33], "method": [3, 9, 43, 46, 47], "measurementservicecontext": 3, "grpc_context": [3, 46], "pin_map_context": [3, 46], "accessor": [3, 43, 46], "context": [3, 7, 14, 20, 23, 29, 33, 39, 43, 46, 47], "local": [3, 43, 46], "state": [3, 39, 43, 46], "mark_complet": 3, "mark": 3, "current": [3, 33, 39, 41, 47], "rpc": [3, 46], "complet": [3, 14, 42], "pin": [3, 29, 33, 43, 45, 46, 47], "map": [3, 29, 33, 43, 46, 47], "add_cancel_callback": [3, 46], "cancel_callback": [3, 46], "add": [3, 43, 45, 46], "callback": [3, 46], "invok": [3, 46], "cancel": [3, 46], "time_remain": [3, 46], "time": [3, 14, 43, 46], "remain": [3, 46], "abort": [3, 46], "code": [3, 13, 14, 19, 22, 24, 28, 29, 32, 33, 36, 38, 46], "detail": [3, 46], "measurement_service_context": 3, "contextvar": 3, "measurementserviceservicerv1": 3, "configuration_parameter_list": [3, 9, 43, 46], "output_parameter_list": [3, 9, 43, 46], "measure_funct": [3, 9, 43, 46], "ni": [3, 4, 6, 10, 43, 45, 46, 47], "measurementlink": [3, 4, 10, 11, 43, 45, 46, 47], "v1": [3, 11, 12, 16, 17, 26, 30, 43, 45, 47], "measurement_service_pb2_grpc": [3, 16, 17, 18, 21], "measurementserviceservic": [3, 20, 23], "measurementinfo": [3, 9, 43, 45, 46], "list": [3, 9, 29, 33, 39, 43, 45, 46, 47], "configur": [3, 8, 9, 43, 46], "paramet": [3, 4, 9, 43, 45, 46, 47], "output": [3, 9, 43, 46], "callabl": [3, 7, 9, 43, 46], "function": [3, 9, 43, 46], "getmetadata": [3, 20, 23], "request": [3, 14, 20, 23, 29, 33, 39, 41, 42], "metadata": [3, 4, 5, 8, 14, 20, 23, 29, 33, 39, 45], "execut": 3, "measurementserviceservicerv2": 3, "v2": [3, 11, 16, 17, 43, 45], "intern": 4, "modul": [4, 5, 48], "class": [4, 25, 37], "framework": [4, 40, 44, 46], "serialization_strategi": [4, 5], "serial": [4, 5, 7], "session_pb2": [4, 10], "session_pb2_grpc": [4, 10], "util": 4, "discovery_cli": [4, 9, 43, 46], "grpc_servic": 4, "service_manag": 4, "relat": [5, 43, 46, 47], "parametermetadata": [6, 8], "scalar": [6, 7], "1d": 6, "arrai": 6, "true": 6, "1darrai": 6, "fals": [6, 14, 20, 23, 29, 33, 39], "default_valu": [6, 43, 46], "default": [6, 7, 8, 9, 39, 43, 45, 46], "annot": [6, 43, 45], "dict": [6, 8, 43, 45], "set": [6, 39], "validate_default_value_typ": 6, "parameter_metadata": 6, "valid": [6, 29], "except": [6, 7, 43, 46, 47], "doe": [6, 33], "typeerror": 6, "get_enum_values_annot": 6, "exist": [6, 29, 47], "strategi": 7, "floatencod": 7, "doubleencod": 7, "intencod": 7, "uintencod": 7, "boolencod": 7, "stringencod": 7, "floatarrayencod": 7, "doublearrayencod": 7, "intarrayencod": 7, "uintarrayencod": 7, "boolarrayencod": 7, "stringarrayencod": 7, "floatdecod": 7, "doubledecod": 7, "int32decod": 7, "uint32decod": 7, "int64decod": 7, "uint64decod": 7, "booldecod": 7, "stringdecod": 7, "floatarraydecod": 7, "doublearraydecod": 7, "int32arraydecod": 7, "uint32arraydecod": 7, "int64arraydecod": 7, "uint64arraydecod": 7, "boolarraydecod": 7, "stringarraydecod": 7, "static": [7, 14, 20, 23, 29, 33, 39], "get_encod": 7, "encod": 7, "vector": 7, "support": [7, 43, 45, 46], "int": [7, 8, 9, 47], "scalarencod": 7, "vectorencod": 7, "get_decod": 7, "decod": 7, "scalardecod": 7, "vectordecod": 7, "get_type_default": 7, "deserialize_paramet": 8, "parameter_metadata_dict": 8, "parameter_byt": 8, "deseri": 8, "byte": 8, "serialize_paramet": 8, "parameter_valu": 8, "same": [8, 33, 43, 45, 46, 47], "order": [8, 43, 46, 47], "metadata_dict": 8, "sequenc": 8, "serialize_default_valu": 8, "grpcservic": 9, "manag": [9, 43, 46, 47], "option": [9, 14, 20, 23, 29, 33, 39, 43, 46, 47], "instanc": [9, 14], "client": [9, 14, 20, 23, 25, 29, 33, 37, 39, 41, 42, 43, 45, 46, 47], "server": [9, 14, 20, 23, 25, 29, 33, 37, 39, 41, 42, 46], "stop": 9, "after": [9, 43, 46], "cleanup": [9, 43, 46], "file": [10, 11, 12, 14, 15, 16, 17, 18, 21, 26, 27, 30, 31, 34, 35, 39, 43, 45, 46, 47], "pinmap": [10, 11, 16], "sessionmanag": [10, 11, 16, 47], "pin_map_context_pb2": [10, 11, 16], "pin_map_context_pb2_grpc": [10, 11, 16], "xydata_pb2": [11, 34, 35], "xydata_pb2_grpc": [11, 34, 35], "discovery_service_pb2": [12, 15, 16], "discovery_service_pb2_grpc": [12, 15, 16], "protocol": [13, 19, 22, 24, 28, 32, 36, 38, 47], "buffer": [13, 19, 22, 24, 28, 32, 36, 38], "descriptor": [13, 19, 22, 24, 28, 32, 36, 38], "correspond": [14, 20, 23, 25, 29, 33, 37, 39, 47], "defin": [14, 20, 23, 25, 29, 33, 37, 39, 43, 46, 47], "channel": [14, 20, 23, 29, 33, 39, 43, 46, 47], "registri": 14, "discov": 14, "activ": 14, "present": [14, 29], "system": [14, 47], "discoveryserviceservic": 14, "registerservic": 14, "statu": [14, 29, 33], "invalid_argu": [14, 29, 33], "servicedescriptor": 14, "empti": [14, 29, 33, 47], "both": 14, "ar": [14, 33, 47], "either": 14, "invalid": 14, "unregisterservic": 14, "unregist": [14, 33, 47], "enumerateservic": 14, "enumer": 14, "all": [14, 33, 47], "which": [14, 46, 47], "interfac": [14, 43, 45], "plugin": [14, 20, 23], "where": [14, 20, 23], "possibl": 14, "known": 14, "ahead": 14, "resolveservic": 14, "return": [14, 20, 23, 29, 33], "accomplish": 14, "through": 14, "serviceconfig": 14, "includ": [14, 47], "describ": [14, 20, 23], "must": [14, 43, 46], "never": 14, "successfulli": 14, "attempt": 14, "not_found": [14, 29, 33], "No": 14, "wa": 14, "found": [14, 29, 43, 46], "failed_precondit": 14, "add_discoveryserviceservicer_to_serv": 14, "discoveryservic": 14, "target": [14, 20, 23, 29, 33, 39, 46], "channel_credenti": [14, 20, 23, 29, 33, 39], "call_credenti": [14, 20, 23, 29, 33, 39], "compress": [14, 20, 23, 29, 33, 39], "wait_for_readi": [14, 20, 23, 29, 33, 39], "timeout": [14, 20, 23, 29, 33, 39, 47], "measurement_service_pb2": [16, 17, 18, 21], "pin_map_service_pb2": [16, 26, 27], "pin_map_service_pb2_grpc": [16, 26, 27], "session_management_service_pb2": [16, 30, 31], "session_management_service_pb2_grpc": [16, 30, 31], "measurementservicestub": [20, 23], "unlik": [20, 23], "measurementservic": [20, 23, 43, 45, 46], "design": [20, 23], "multipl": [20, 23, 43, 46, 47], "provid": [20, 23, 39, 42, 43, 45], "differ": [20, 23, 43, 45], "capabl": [20, 23], "perform": [20, 23, 43, 45], "add_measurementserviceservicer_to_serv": [20, 23], "pinmapservicestub": 29, "keep": [29, 33], "track": [29, 33, 47], "resourc": [29, 39, 47], "pinmapserviceservic": 29, "createpinmapfromxml": 29, "pinmapservic": 29, "whitespac": 29, "xml": 29, "already_exist": [29, 33], "updatepinmapfromxml": 29, "updat": 29, "getpinmap": 29, "querypin": 29, "queryrelai": 29, "relai": [29, 33, 47], "queryresourceaccessinform": 29, "instrument": [29, 33, 43, 46, 47], "site": [29, 33, 47], "group": [29, 33, 47], "rang": 29, "add_pinmapserviceservicer_to_serv": 29, "sessionmanagementservicestub": 33, "open": [33, 39, 46, 47], "session": [33, 39, 47], "allow": [33, 47], "access": [33, 43, 46, 47], "sessionmanagementserviceservic": 33, "reservesess": 33, "reserv": [33, 39, 47], "Will": 33, "ab": 33, "2046548": 33, "also": [33, 43, 46], "so": 33, "process": 33, "cannot": [33, 47], "refer": [33, 48], "less": 33, "unavail": 33, "were": 33, "didn": 33, "t": 33, "becom": 33, "avail": [33, 43, 46], "expir": 33, "unreservesess": 33, "unreserv": [33, 39, 47], "thei": [33, 47], "resource_exhaust": 33, "occur": 33, "while": 33, "registersess": 33, "indic": [33, 41, 47], "later": [33, 47], "unregistersess": 33, "reopen": [33, 47], "again": [33, 47], "reserveallregisteredsess": 33, "add_sessionmanagementserviceservicer_to_serv": 33, "sessionmanagementservic": [33, 47], "sessionutilitiesstub": 39, "miss": 39, "comment": 39, "proto": 39, "sessionutilitiesservic": 39, "enumeratedevic": 39, "devic": [39, 47], "chassi": 39, "connect": [39, 47], "under": [39, 43, 45], "localhost": 39, "exclus": 39, "isreservedbycli": 39, "determin": 39, "previous": 39, "resetserv": 39, "reset": 39, "add_sessionutilitiesservicer_to_serv": 39, "sessionutil": 39, "clientlogg": 41, "unaryunaryclientinterceptor": 41, "unarystreamclientinterceptor": 41, "streamunaryclientinterceptor": 41, "streamstreamclientinterceptor": 41, "intercept": 41, "log": [41, 42], "them": 41, "debug": 41, "classmethod": 41, "is_en": [41, 42], "enabl": [41, 42], "level": 41, "intercept_unary_unari": 41, "continu": 41, "client_call_detail": 41, "unari": 41, "intercept_unary_stream": 41, "stream": [41, 42], "intercept_stream_unari": 41, "request_iter": 41, "intercept_stream_stream": 41, "bidirect": 41, "serverlogg": 41, "serverinterceptor": 41, "intercept_servic": 41, "handler_call_detail": 41, "queri": 42, "event": 42, "log_grpc_client_call_start": 42, "method_nam": 42, "log_grpc_client_call_stop": 42, "activity_id": 42, "log_grpc_client_call_streaming_request": 42, "send": 42, "log_grpc_client_call_streaming_respons": 42, "receiv": 42, "respons": 42, "log_grpc_server_call_start": 42, "log_grpc_server_call_stop": 42, "log_grpc_server_call_streaming_request": 42, "log_grpc_server_call_streaming_respons": 42, "python": [43, 46], "data": [43, 45, 46], "int32": [43, 45], "0": [43, 45, 47], "int64": [43, 45], "uint32": [43, 45], "2": [43, 45, 46], "uint64": [43, 45], "3": [43, 45], "float": [43, 45, 47], "4": [43, 45], "doubl": [43, 45], "5": [43, 45], "6": [43, 45], "7": [43, 45], "8": [43, 45], "path": [43, 45], "9": [43, 45], "10": [43, 45], "doublexydata": [43, 45], "11": [43, 45], "int32array1d": [43, 45], "100": [43, 45], "int64array1d": [43, 45], "101": [43, 45], "uint32array1d": [43, 45], "102": [43, 45], "uint64array1d": [43, 45], "103": [43, 45], "floatarray1d": [43, 45], "104": [43, 45], "doublearray1d": [43, 45], "105": [43, 45], "booleanarray1d": [43, 45], "106": [43, 45], "stringarray1d": [43, 45], "107": [43, 45], "pinarray1d": [43, 45], "108": [43, 45], "patharray1d": [43, 45], "109": [43, 45], "enumarray1d": [43, 45, 46], "110": [43, 45], "user": [43, 45, 46, 47], "version": [43, 45, 46], "help": [43, 45], "maintain": [43, 45], "futur": [43, 45], "ui_file_path": [43, 45, 46], "absolut": [43, 45], "ui": [43, 45], "link": [43, 45], "pathlib": [43, 45], "belong": [43, 45, 47], "expect": [43, 45], "logic": [43, 45], "For": [43, 45, 46, 47], "e": [43, 45], "g": [43, 45], "come": [43, 45], "description_url": [43, 45], "url": [43, 45], "extra": [43, 45], "As": [43, 45], "we": [43, 45], "ad": [43, 45], "collect": [43, 45], "tag": [43, 45], "feel": [43, 45], "free": [43, 45], "your": [43, 45], "own": [43, 45], "service_config_path": [43, 46], "measurementcontext": [43, 46], "channel_pool": [43, 46], "grpcchannelpool": [43, 46], "pool": [43, 46], "register_measur": [43, 46], "measurement_funct": [43, 46], "To": [43, 46], "declar": [43, 46], "idiom": [43, 46], "measurement_servic": [43, 46], "def": [43, 46], "configuration1": [43, 46], "configuration2": [43, 46], "output1": [43, 46], "output2": [43, 46], "see": [43, 46], "instrument_typ": [43, 46], "enum_typ": [43, 46], "decor": [43, 46], "posit": [43, 46, 47], "filter": [43, 46], "onli": [43, 46], "built": [43, 46, 47], "definit": [43, 46, 47], "driver": [43, 46, 47], "These": [43, 46], "constant": [43, 46, 47], "nim": [43, 46], "exampl": [43, 46], "dcpower": [43, 46], "instrument_type_ni_dcpow": [43, 46, 47], "custom": [43, 46, 47], "supportedenumtyp": [43, 46], "take": [43, 46], "element": [43, 46], "tupl": [43, 46], "host_servic": [43, 46], "statement": [43, 46, 47], "close_servic": [43, 46], "__enter__": [43, 46, 47], "enter": [43, 46], "runtim": [43, 46], "__exit__": [43, 46, 47], "exc_typ": [43, 46, 47], "exc_val": [43, 46, 47], "traceback": [43, 46, 47], "exit": [43, 46], "get_channel": [43, 46], "packag": [44, 48], "special": 45, "notyp": 45, "proxi": 46, "lifetim": 46, "grpc_service_interface_nam": 47, "grpc_service_class": 47, "instrument_type_non": 47, "nidcpow": 47, "instrument_type_ni_hsdio": 47, "nihsdio": 47, "instrument_type_ni_rfsa": 47, "nirfsa": 47, "instrument_type_ni_rfmx": 47, "nirfmx": 47, "instrument_type_ni_rfsg": 47, "nirfsg": 47, "instrument_type_ni_rfpm": 47, "nirfpm": 47, "instrument_type_ni_dmm": 47, "nidmm": 47, "instrument_type_ni_digital_pattern": 47, "nidigitalpattern": 47, "instrument_type_ni_scop": 47, "niscop": 47, "instrument_type_ni_fgen": 47, "nifgen": 47, "instrument_type_ni_daqmx": 47, "nidaqmx": 47, "instrument_type_ni_relay_driv": 47, "nirelaydriv": 47, "instrument_type_ni_model_based_instru": 47, "nimodelbasedinstru": 47, "instrument_type_ni_switch_executive_virtual_devic": 47, "niswitchexecutivevirtualdevic": 47, "pinmapcontext": 47, "pin_map_id": 47, "being": 47, "channelmap": 47, "pin_or_relay_nam": 47, "do": 47, "sessioninform": 47, "session_nam": 47, "identifi": 47, "well": 47, "resource_nam": 47, "channel_list": 47, "initi": 47, "reserve_all_registered_sess": 47, "instrument_type_id": 47, "session_exist": 47, "channel_map": 47, "iter": 47, "item": 47, "basereserv": 47, "session_info": 47, "abc": 47, "self": 47, "singlesessionreserv": 47, "singl": 47, "multisessionreserv": 47, "__getattr__": 47, "grpc_channel": 47, "reserve_sess": 47, "unspecifi": 47, "follow": 47, "second": 47, "non": 47, "block": 47, "fail": 47, "immedi": 47, "neg": 47, "infinit": 47, "numer": 47, "wait": 47, "register_sess": 47, "unregister_sess": 47, "subpackag": 48, "submodul": 48, "content": 48, "index": 48, "search": 48}, "objects": {"": [[43, 0, 0, "-", "ni_measurementlink_service"]], "ni_measurementlink_service": [[43, 1, 1, "", "DataType"], [43, 1, 1, "", "MeasurementInfo"], [43, 1, 1, "", "MeasurementService"], [43, 1, 1, "", "ServiceInfo"], [1, 0, 0, "-", "_datatypeinfo"], [4, 0, 0, "-", "_internal"], [41, 0, 0, "-", "_loggers"], [42, 0, 0, "-", "_tracelogging"], [44, 0, 0, "-", "measurement"], [47, 0, 0, "-", "session_management"]], "ni_measurementlink_service.DataType": [[43, 2, 1, "", "Boolean"], [43, 2, 1, "", "BooleanArray1D"], [43, 2, 1, "", "Double"], [43, 2, 1, "", "DoubleArray1D"], [43, 2, 1, "", "DoubleXYData"], [43, 2, 1, "", "Enum"], [43, 2, 1, "", "EnumArray1D"], [43, 2, 1, "", "Float"], [43, 2, 1, "", "FloatArray1D"], [43, 2, 1, "", "Int32"], [43, 2, 1, "", "Int32Array1D"], [43, 2, 1, "", "Int64"], [43, 2, 1, "", "Int64Array1D"], [43, 2, 1, "", "Path"], [43, 2, 1, "", "PathArray1D"], [43, 2, 1, "", "Pin"], [43, 2, 1, "", "PinArray1D"], [43, 2, 1, "", "String"], [43, 2, 1, "", "StringArray1D"], [43, 2, 1, "", "UInt32"], [43, 2, 1, "", "UInt32Array1D"], [43, 2, 1, "", "UInt64"], [43, 2, 1, "", "UInt64Array1D"]], "ni_measurementlink_service.MeasurementInfo": [[43, 2, 1, "", "display_name"], [43, 2, 1, "", "ui_file_paths"], [43, 2, 1, "", "version"]], "ni_measurementlink_service.MeasurementService": [[43, 3, 1, "", "__enter__"], [43, 3, 1, "", "__exit__"], [43, 3, 1, "", "close_service"], [43, 3, 1, "", "configuration"], [43, 3, 1, "", "get_channel"], [43, 3, 1, "", "host_service"], [43, 3, 1, "", "output"], [43, 3, 1, "", "register_measurement"]], "ni_measurementlink_service.ServiceInfo": [[43, 2, 1, "", "annotations"], [43, 2, 1, "", "description_url"], [43, 2, 1, "", "provided_interfaces"], [43, 2, 1, "", "service_class"]], "ni_measurementlink_service._datatypeinfo": [[1, 1, 1, "", "DataTypeInfo"], [1, 4, 1, "", "get_type_info"]], "ni_measurementlink_service._datatypeinfo.DataTypeInfo": [[1, 2, 1, "", "grpc_field_type"], [1, 2, 1, "", "message_type"], [1, 2, 1, "", "repeated"], [1, 2, 1, "", "type_specialization"]], "ni_measurementlink_service._internal": [[2, 0, 0, "-", "discovery_client"], [3, 0, 0, "-", "grpc_servicer"], [5, 0, 0, "-", "parameter"], [9, 0, 0, "-", "service_manager"], [10, 0, 0, "-", "stubs"], [40, 0, 0, "-", "utilities"]], "ni_measurementlink_service._internal.discovery_client": [[2, 1, 1, "", "DiscoveryClient"], [2, 1, 1, "", "ServiceLocation"]], "ni_measurementlink_service._internal.discovery_client.DiscoveryClient": [[2, 3, 1, "", "register_measurement_service"], [2, 3, 1, "", "resolve_service"], [2, 3, 1, "", "stub"], [2, 3, 1, "", "unregister_service"]], "ni_measurementlink_service._internal.discovery_client.ServiceLocation": [[2, 3, 1, "", "insecure_address"], [2, 2, 1, "", "insecure_port"], [2, 2, 1, "", "location"], [2, 3, 1, "", "ssl_authenticated_address"], [2, 2, 1, "", "ssl_authenticated_port"]], "ni_measurementlink_service._internal.grpc_servicer": [[3, 1, 1, "", "MeasurementServiceContext"], [3, 1, 1, "", "MeasurementServiceServicerV1"], [3, 1, 1, "", "MeasurementServiceServicerV2"], [3, 5, 1, "", "measurement_service_context"]], "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext": [[3, 3, 1, "", "abort"], [3, 3, 1, "", "add_cancel_callback"], [3, 3, 1, "", "cancel"], [3, 3, 1, "", "grpc_context"], [3, 3, 1, "", "mark_complete"], [3, 3, 1, "", "pin_map_context"], [3, 3, 1, "", "time_remaining"]], "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV1": [[3, 3, 1, "", "GetMetadata"], [3, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV2": [[3, 3, 1, "", "GetMetadata"], [3, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.parameter": [[6, 0, 0, "-", "metadata"], [7, 0, 0, "-", "serialization_strategy"], [8, 0, 0, "-", "serializer"]], "ni_measurementlink_service._internal.parameter.metadata": [[6, 1, 1, "", "ParameterMetadata"], [6, 4, 1, "", "get_enum_values_annotation"], [6, 4, 1, "", "validate_default_value_type"]], "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata": [[6, 2, 1, "", "annotations"], [6, 2, 1, "", "default_value"], [6, 2, 1, "", "display_name"], [6, 2, 1, "", "message_type"], [6, 2, 1, "", "repeated"], [6, 2, 1, "", "type"]], "ni_measurementlink_service._internal.parameter.serialization_strategy": [[7, 5, 1, "", "BoolArrayDecoder"], [7, 5, 1, "", "BoolArrayEncoder"], [7, 5, 1, "", "BoolDecoder"], [7, 5, 1, "", "BoolEncoder"], [7, 1, 1, "", "Context"], [7, 5, 1, "", "DoubleArrayDecoder"], [7, 5, 1, "", "DoubleArrayEncoder"], [7, 5, 1, "", "DoubleDecoder"], [7, 5, 1, "", "DoubleEncoder"], [7, 5, 1, "", "FloatArrayDecoder"], [7, 5, 1, "", "FloatArrayEncoder"], [7, 5, 1, "", "FloatDecoder"], [7, 5, 1, "", "FloatEncoder"], [7, 5, 1, "", "Int32ArrayDecoder"], [7, 5, 1, "", "Int32Decoder"], [7, 5, 1, "", "Int64ArrayDecoder"], [7, 5, 1, "", "Int64Decoder"], [7, 5, 1, "", "IntArrayEncoder"], [7, 5, 1, "", "IntEncoder"], [7, 5, 1, "", "StringArrayDecoder"], [7, 5, 1, "", "StringArrayEncoder"], [7, 5, 1, "", "StringDecoder"], [7, 5, 1, "", "StringEncoder"], [7, 5, 1, "", "UInt32ArrayDecoder"], [7, 5, 1, "", "UInt32Decoder"], [7, 5, 1, "", "UInt64ArrayDecoder"], [7, 5, 1, "", "UInt64Decoder"], [7, 5, 1, "", "UIntArrayEncoder"], [7, 5, 1, "", "UIntEncoder"]], "ni_measurementlink_service._internal.parameter.serialization_strategy.Context": [[7, 3, 1, "", "get_decoder"], [7, 3, 1, "", "get_encoder"], [7, 3, 1, "", "get_type_default"]], "ni_measurementlink_service._internal.parameter.serializer": [[8, 4, 1, "", "deserialize_parameters"], [8, 4, 1, "", "serialize_default_values"], [8, 4, 1, "", "serialize_parameters"]], "ni_measurementlink_service._internal.service_manager": [[9, 1, 1, "", "GrpcService"]], "ni_measurementlink_service._internal.service_manager.GrpcService": [[9, 3, 1, "", "start"], [9, 3, 1, "", "stop"]], "ni_measurementlink_service._internal.stubs": [[11, 0, 0, "-", "ni"], [38, 0, 0, "-", "session_pb2"], [39, 0, 0, "-", "session_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni": [[16, 0, 0, "-", "measurementlink"], [34, 0, 0, "-", "protobuf"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink": [[12, 0, 0, "-", "discovery"], [17, 0, 0, "-", "measurement"], [24, 0, 0, "-", "pin_map_context_pb2"], [25, 0, 0, "-", "pin_map_context_pb2_grpc"], [26, 0, 0, "-", "pinmap"], [30, 0, 0, "-", "sessionmanagement"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery": [[15, 0, 0, "-", "v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1": [[13, 0, 0, "-", "discovery_service_pb2"], [14, 0, 0, "-", "discovery_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2": [[13, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc": [[14, 1, 1, "", "DiscoveryService"], [14, 1, 1, "", "DiscoveryServiceServicer"], [14, 1, 1, "", "DiscoveryServiceStub"], [14, 4, 1, "", "add_DiscoveryServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService": [[14, 3, 1, "", "EnumerateServices"], [14, 3, 1, "", "RegisterService"], [14, 3, 1, "", "ResolveService"], [14, 3, 1, "", "UnregisterService"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer": [[14, 3, 1, "", "EnumerateServices"], [14, 3, 1, "", "RegisterService"], [14, 3, 1, "", "ResolveService"], [14, 3, 1, "", "UnregisterService"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement": [[18, 0, 0, "-", "v1"], [21, 0, 0, "-", "v2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1": [[19, 0, 0, "-", "measurement_service_pb2"], [20, 0, 0, "-", "measurement_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2": [[19, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc": [[20, 1, 1, "", "MeasurementService"], [20, 1, 1, "", "MeasurementServiceServicer"], [20, 1, 1, "", "MeasurementServiceStub"], [20, 4, 1, "", "add_MeasurementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementService": [[20, 3, 1, "", "GetMetadata"], [20, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementServiceServicer": [[20, 3, 1, "", "GetMetadata"], [20, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2": [[22, 0, 0, "-", "measurement_service_pb2"], [23, 0, 0, "-", "measurement_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2": [[22, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc": [[23, 1, 1, "", "MeasurementService"], [23, 1, 1, "", "MeasurementServiceServicer"], [23, 1, 1, "", "MeasurementServiceStub"], [23, 4, 1, "", "add_MeasurementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementService": [[23, 3, 1, "", "GetMetadata"], [23, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementServiceServicer": [[23, 3, 1, "", "GetMetadata"], [23, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2": [[24, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap": [[27, 0, 0, "-", "v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1": [[28, 0, 0, "-", "pin_map_service_pb2"], [29, 0, 0, "-", "pin_map_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2": [[28, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc": [[29, 1, 1, "", "PinMapService"], [29, 1, 1, "", "PinMapServiceServicer"], [29, 1, 1, "", "PinMapServiceStub"], [29, 4, 1, "", "add_PinMapServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService": [[29, 3, 1, "", "CreatePinMapFromXml"], [29, 3, 1, "", "GetPinMap"], [29, 3, 1, "", "QueryPins"], [29, 3, 1, "", "QueryRelays"], [29, 3, 1, "", "QueryResourceAccessInformation"], [29, 3, 1, "", "UpdatePinMapFromXml"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer": [[29, 3, 1, "", "CreatePinMapFromXml"], [29, 3, 1, "", "GetPinMap"], [29, 3, 1, "", "QueryPins"], [29, 3, 1, "", "QueryRelays"], [29, 3, 1, "", "QueryResourceAccessInformation"], [29, 3, 1, "", "UpdatePinMapFromXml"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement": [[31, 0, 0, "-", "v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1": [[32, 0, 0, "-", "session_management_service_pb2"], [33, 0, 0, "-", "session_management_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2": [[32, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc": [[33, 1, 1, "", "SessionManagementService"], [33, 1, 1, "", "SessionManagementServiceServicer"], [33, 1, 1, "", "SessionManagementServiceStub"], [33, 4, 1, "", "add_SessionManagementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService": [[33, 3, 1, "", "RegisterSessions"], [33, 3, 1, "", "ReserveAllRegisteredSessions"], [33, 3, 1, "", "ReserveSessions"], [33, 3, 1, "", "UnregisterSessions"], [33, 3, 1, "", "UnreserveSessions"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer": [[33, 3, 1, "", "RegisterSessions"], [33, 3, 1, "", "ReserveAllRegisteredSessions"], [33, 3, 1, "", "ReserveSessions"], [33, 3, 1, "", "UnregisterSessions"], [33, 3, 1, "", "UnreserveSessions"]], "ni_measurementlink_service._internal.stubs.ni.protobuf": [[35, 0, 0, "-", "types"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types": [[36, 0, 0, "-", "xydata_pb2"], [37, 0, 0, "-", "xydata_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2": [[36, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.session_pb2": [[38, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.session_pb2_grpc": [[39, 1, 1, "", "SessionUtilities"], [39, 1, 1, "", "SessionUtilitiesServicer"], [39, 1, 1, "", "SessionUtilitiesStub"], [39, 4, 1, "", "add_SessionUtilitiesServicer_to_server"]], "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities": [[39, 3, 1, "", "EnumerateDevices"], [39, 3, 1, "", "IsReservedByClient"], [39, 3, 1, "", "Reserve"], [39, 3, 1, "", "ResetServer"], [39, 3, 1, "", "Unreserve"]], "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer": [[39, 3, 1, "", "EnumerateDevices"], [39, 3, 1, "", "IsReservedByClient"], [39, 3, 1, "", "Reserve"], [39, 3, 1, "", "ResetServer"], [39, 3, 1, "", "Unreserve"]], "ni_measurementlink_service._loggers": [[41, 1, 1, "", "ClientLogger"], [41, 1, 1, "", "ServerLogger"]], "ni_measurementlink_service._loggers.ClientLogger": [[41, 3, 1, "", "intercept_stream_stream"], [41, 3, 1, "", "intercept_stream_unary"], [41, 3, 1, "", "intercept_unary_stream"], [41, 3, 1, "", "intercept_unary_unary"], [41, 3, 1, "", "is_enabled"]], "ni_measurementlink_service._loggers.ServerLogger": [[41, 3, 1, "", "intercept_service"], [41, 3, 1, "", "is_enabled"]], "ni_measurementlink_service._tracelogging": [[42, 4, 1, "", "is_enabled"], [42, 4, 1, "", "log_grpc_client_call_start"], [42, 4, 1, "", "log_grpc_client_call_stop"], [42, 4, 1, "", "log_grpc_client_call_streaming_request"], [42, 4, 1, "", "log_grpc_client_call_streaming_response"], [42, 4, 1, "", "log_grpc_server_call_start"], [42, 4, 1, "", "log_grpc_server_call_stop"], [42, 4, 1, "", "log_grpc_server_call_streaming_request"], [42, 4, 1, "", "log_grpc_server_call_streaming_response"]], "ni_measurementlink_service.measurement": [[45, 0, 0, "-", "info"], [46, 0, 0, "-", "service"]], "ni_measurementlink_service.measurement.info": [[45, 1, 1, "", "DataType"], [45, 1, 1, "", "MeasurementInfo"], [45, 1, 1, "", "ServiceInfo"], [45, 1, 1, "", "TypeSpecialization"]], "ni_measurementlink_service.measurement.info.DataType": [[45, 2, 1, "", "Boolean"], [45, 2, 1, "", "BooleanArray1D"], [45, 2, 1, "", "Double"], [45, 2, 1, "", "DoubleArray1D"], [45, 2, 1, "", "DoubleXYData"], [45, 2, 1, "", "Enum"], [45, 2, 1, "", "EnumArray1D"], [45, 2, 1, "", "Float"], [45, 2, 1, "", "FloatArray1D"], [45, 2, 1, "", "Int32"], [45, 2, 1, "", "Int32Array1D"], [45, 2, 1, "", "Int64"], [45, 2, 1, "", "Int64Array1D"], [45, 2, 1, "", "Path"], [45, 2, 1, "", "PathArray1D"], [45, 2, 1, "", "Pin"], [45, 2, 1, "", "PinArray1D"], [45, 2, 1, "", "String"], [45, 2, 1, "", "StringArray1D"], [45, 2, 1, "", "UInt32"], [45, 2, 1, "", "UInt32Array1D"], [45, 2, 1, "", "UInt64"], [45, 2, 1, "", "UInt64Array1D"]], "ni_measurementlink_service.measurement.info.MeasurementInfo": [[45, 2, 1, "", "display_name"], [45, 2, 1, "", "ui_file_paths"], [45, 2, 1, "", "version"]], "ni_measurementlink_service.measurement.info.ServiceInfo": [[45, 2, 1, "", "annotations"], [45, 2, 1, "", "description_url"], [45, 2, 1, "", "provided_interfaces"], [45, 2, 1, "", "service_class"]], "ni_measurementlink_service.measurement.info.TypeSpecialization": [[45, 2, 1, "", "Enum"], [45, 2, 1, "", "NoType"], [45, 2, 1, "", "Path"], [45, 2, 1, "", "Pin"]], "ni_measurementlink_service.measurement.service": [[46, 1, 1, "", "GrpcChannelPool"], [46, 1, 1, "", "MeasurementContext"], [46, 1, 1, "", "MeasurementService"], [46, 5, 1, "", "SupportedEnumType"]], "ni_measurementlink_service.measurement.service.GrpcChannelPool": [[46, 3, 1, "", "__enter__"], [46, 3, 1, "", "__exit__"], [46, 3, 1, "", "close"], [46, 3, 1, "", "get_channel"]], "ni_measurementlink_service.measurement.service.MeasurementContext": [[46, 3, 1, "", "abort"], [46, 3, 1, "", "add_cancel_callback"], [46, 3, 1, "", "cancel"], [46, 3, 1, "", "grpc_context"], [46, 3, 1, "", "pin_map_context"], [46, 3, 1, "", "time_remaining"]], "ni_measurementlink_service.measurement.service.MeasurementService": [[46, 3, 1, "", "__enter__"], [46, 3, 1, "", "__exit__"], [46, 3, 1, "", "close_service"], [46, 3, 1, "", "configuration"], [46, 3, 1, "", "get_channel"], [46, 3, 1, "", "host_service"], [46, 3, 1, "", "output"], [46, 3, 1, "", "register_measurement"]], "ni_measurementlink_service.session_management": [[47, 1, 1, "", "BaseReservation"], [47, 1, 1, "", "ChannelMapping"], [47, 1, 1, "", "Client"], [47, 5, 1, "", "GRPC_SERVICE_CLASS"], [47, 5, 1, "", "GRPC_SERVICE_INTERFACE_NAME"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_DAQMX"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_DCPOWER"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_DIGITAL_PATTERN"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_DMM"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_FGEN"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_HSDIO"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_MODEL_BASED_INSTRUMENT"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_RELAY_DRIVER"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_RFMX"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_RFPM"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_RFSA"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_RFSG"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_SCOPE"], [47, 5, 1, "", "INSTRUMENT_TYPE_NI_SWITCH_EXECUTIVE_VIRTUAL_DEVICE"], [47, 5, 1, "", "INSTRUMENT_TYPE_NONE"], [47, 1, 1, "", "MultiSessionReservation"], [47, 1, 1, "", "PinMapContext"], [47, 1, 1, "", "SessionInformation"], [47, 1, 1, "", "SingleSessionReservation"], [47, 4, 1, "", "__getattr__"]], "ni_measurementlink_service.session_management.BaseReservation": [[47, 3, 1, "", "__enter__"], [47, 3, 1, "", "__exit__"], [47, 3, 1, "", "unreserve"]], "ni_measurementlink_service.session_management.ChannelMapping": [[47, 2, 1, "", "channel"], [47, 2, 1, "", "pin_or_relay_name"], [47, 2, 1, "", "site"]], "ni_measurementlink_service.session_management.Client": [[47, 3, 1, "", "register_sessions"], [47, 3, 1, "", "reserve_all_registered_sessions"], [47, 3, 1, "", "reserve_session"], [47, 3, 1, "", "reserve_sessions"], [47, 3, 1, "", "unregister_sessions"]], "ni_measurementlink_service.session_management.MultiSessionReservation": [[47, 3, 1, "", "session_info"]], "ni_measurementlink_service.session_management.PinMapContext": [[47, 2, 1, "", "pin_map_id"], [47, 2, 1, "", "sites"]], "ni_measurementlink_service.session_management.SessionInformation": [[47, 2, 1, "", "channel_list"], [47, 2, 1, "", "channel_mappings"], [47, 2, 1, "", "instrument_type_id"], [47, 2, 1, "", "resource_name"], [47, 2, 1, "", "session_exists"], [47, 2, 1, "", "session_name"]], "ni_measurementlink_service.session_management.SingleSessionReservation": [[47, 3, 1, "", "session_info"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"api": 0, "refer": 0, "ni_measurementlink_servic": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], "_datatypeinfo": 1, "modul": [1, 2, 3, 6, 7, 8, 9, 13, 14, 19, 20, 22, 23, 24, 28, 29, 32, 33, 36, 38, 39, 41, 42, 45, 46, 47], "content": [1, 2, 3, 6, 7, 8, 9, 13, 14, 19, 20, 22, 23, 24, 28, 29, 32, 33, 36, 38, 39, 41, 42, 43, 45, 46, 47], "class": [1, 2, 3, 6, 7, 9, 14, 20, 23, 29, 33, 39, 41, 43, 45, 46, 47], "function": [1, 6, 8, 14, 20, 23, 29, 33, 39, 42, 47], "attribut": [1, 2, 3, 6, 7, 9, 43, 45, 46, 47], "_intern": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "discovery_cli": 2, "arg": [2, 6, 7, 8, 9, 43, 46, 47], "return": [2, 6, 7, 8, 9, 43, 46, 47], "grpc_servic": 3, "subpackag": [4, 10, 11, 12, 16, 17, 26, 30, 34, 43], "submodul": [4, 5, 10, 15, 16, 18, 21, 27, 31, 35, 43, 44], "paramet": [5, 6, 7, 8], "metadata": 6, "rais": [6, 7, 43, 46, 47], "serialization_strategi": 7, "serial": 8, "service_manag": 9, "stub": [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "ni": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 48], "measurementlink": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 48], "discoveri": [12, 13, 14, 15], "v1": [13, 14, 15, 18, 19, 20, 27, 28, 29, 31, 32, 33], "discovery_service_pb2": 13, "discovery_service_pb2_grpc": 14, "measur": [17, 18, 19, 20, 21, 22, 23, 44, 45, 46], "measurement_service_pb2": [19, 22], "measurement_service_pb2_grpc": [20, 23], "v2": [21, 22, 23], "pin_map_context_pb2": 24, "pin_map_context_pb2_grpc": 25, "pinmap": [26, 27, 28, 29], "pin_map_service_pb2": 28, "pin_map_service_pb2_grpc": 29, "sessionmanag": [30, 31, 32, 33], "session_management_service_pb2": 32, "session_management_service_pb2_grpc": 33, "protobuf": [34, 35, 36, 37], "type": [35, 36, 37], "xydata_pb2": 36, "xydata_pb2_grpc": 37, "session_pb2": 38, "session_pb2_grpc": 39, "util": 40, "_logger": 41, "_tracelog": 42, "packag": 43, "info": 45, "servic": 46, "session_manag": 47, "indic": 48, "tabl": 48}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"API Reference": [[0, "api-reference"]], "ni_measurementlink_service._datatypeinfo": [[1, "module-ni_measurementlink_service._datatypeinfo"]], "Module Contents": [[1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [6, "module-contents"], [7, "module-contents"], [8, "module-contents"], [9, "module-contents"], [13, "module-contents"], [14, "module-contents"], [19, "module-contents"], [20, "module-contents"], [22, "module-contents"], [23, "module-contents"], [24, "module-contents"], [28, "module-contents"], [29, "module-contents"], [32, "module-contents"], [33, "module-contents"], [36, "module-contents"], [38, "module-contents"], [39, "module-contents"], [41, "module-contents"], [42, "module-contents"], [45, "module-contents"], [46, "module-contents"], [47, "module-contents"]], "Classes": [[1, "classes"], [2, "classes"], [3, "classes"], [6, "classes"], [7, "classes"], [9, "classes"], [14, "classes"], [20, "classes"], [23, "classes"], [29, "classes"], [33, "classes"], [39, "classes"], [41, "classes"], [43, "classes"], [45, "classes"], [46, "classes"], [47, "classes"]], "Functions": [[1, "functions"], [6, "functions"], [8, "functions"], [14, "functions"], [20, "functions"], [23, "functions"], [29, "functions"], [33, "functions"], [39, "functions"], [42, "functions"], [47, "functions"]], "Attributes": [[1, "attributes"], [2, "attributes"], [3, "attributes"], [3, "id1"], [3, "id2"], [6, "attributes"], [7, "attributes"], [9, "attributes"], [43, "attributes"], [43, "id1"], [43, "id2"], [45, "attributes"], [45, "id1"], [46, "attributes"], [46, "id1"], [47, "attributes"], [47, "id1"], [47, "id2"], [47, "id3"]], "ni_measurementlink_service._internal.discovery_client": [[2, "module-ni_measurementlink_service._internal.discovery_client"]], "Args:": [[2, "args"], [2, "id2"], [9, "args"], [47, "id6"]], "Returns": [[2, "returns"], [2, "id1"], [2, "id3"], [6, "returns"], [7, "returns"], [7, "id3"], [7, "id5"], [8, "returns"], [8, "id2"], [8, "id4"], [9, "returns"], [43, "returns"], [43, "id10"], [43, "id11"], [43, "id13"], [46, "returns"], [46, "id9"], [46, "id10"], [46, "id12"], [47, "returns"], [47, "id5"], [47, "id8"]], "ni_measurementlink_service._internal.grpc_servicer": [[3, "module-ni_measurementlink_service._internal.grpc_servicer"]], "ni_measurementlink_service._internal": [[4, "module-ni_measurementlink_service._internal"]], "Subpackages": [[4, "subpackages"], [10, "subpackages"], [11, "subpackages"], [12, "subpackages"], [16, "subpackages"], [17, "subpackages"], [26, "subpackages"], [30, "subpackages"], [34, "subpackages"], [43, "subpackages"]], "Submodules": [[4, "submodules"], [5, "submodules"], [10, "submodules"], [15, "submodules"], [16, "submodules"], [18, "submodules"], [21, "submodules"], [27, "submodules"], [31, "submodules"], [35, "submodules"], [43, "submodules"], [44, "submodules"]], "ni_measurementlink_service._internal.parameter": [[5, "module-ni_measurementlink_service._internal.parameter"]], "ni_measurementlink_service._internal.parameter.metadata": [[6, "module-ni_measurementlink_service._internal.parameter.metadata"]], "Args": [[6, "args"], [6, "id1"], [7, "args"], [7, "id1"], [7, "id4"], [8, "args"], [8, "id1"], [8, "id3"], [43, "args"], [43, "id9"], [43, "id12"], [46, "args"], [46, "id8"], [46, "id11"], [47, "args"], [47, "id4"], [47, "id7"]], "Raises": [[6, "raises"], [7, "raises"], [7, "id2"], [43, "raises"], [43, "id14"], [46, "raises"], [46, "id13"], [47, "raises"]], "ni_measurementlink_service._internal.parameter.serialization_strategy": [[7, "module-ni_measurementlink_service._internal.parameter.serialization_strategy"]], "ni_measurementlink_service._internal.parameter.serializer": [[8, "module-ni_measurementlink_service._internal.parameter.serializer"]], "ni_measurementlink_service._internal.service_manager": [[9, "module-ni_measurementlink_service._internal.service_manager"]], "ni_measurementlink_service._internal.stubs": [[10, "module-ni_measurementlink_service._internal.stubs"]], "ni_measurementlink_service._internal.stubs.ni": [[11, "module-ni_measurementlink_service._internal.stubs.ni"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery": [[12, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2": [[13, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc": [[14, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1": [[15, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink": [[16, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement": [[17, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1": [[18, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2": [[19, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc": [[20, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2": [[21, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2": [[22, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc": [[23, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2": [[24, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc": [[25, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap": [[26, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1": [[27, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2": [[28, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc": [[29, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement": [[30, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1": [[31, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2": [[32, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc": [[33, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.protobuf": [[34, "module-ni_measurementlink_service._internal.stubs.ni.protobuf"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types": [[35, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2": [[36, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc": [[37, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.session_pb2": [[38, "module-ni_measurementlink_service._internal.stubs.session_pb2"]], "ni_measurementlink_service._internal.stubs.session_pb2_grpc": [[39, "module-ni_measurementlink_service._internal.stubs.session_pb2_grpc"]], "ni_measurementlink_service._internal.utilities": [[40, "module-ni_measurementlink_service._internal.utilities"]], "ni_measurementlink_service._loggers": [[41, "module-ni_measurementlink_service._loggers"]], "ni_measurementlink_service._tracelogging": [[42, "module-ni_measurementlink_service._tracelogging"]], "ni_measurementlink_service": [[43, "module-ni_measurementlink_service"]], "Package Contents": [[43, "package-contents"]], "ni_measurementlink_service.measurement": [[44, "module-ni_measurementlink_service.measurement"]], "ni_measurementlink_service.measurement.info": [[45, "module-ni_measurementlink_service.measurement.info"]], "ni_measurementlink_service.measurement.service": [[46, "module-ni_measurementlink_service.measurement.service"]], "ni_measurementlink_service.session_management": [[47, "module-ni_measurementlink_service.session_management"]], "NI MeasurementLink": [[48, "ni-measurementlink"]], "Indices and tables": [[48, "indices-and-tables"]]}, "indexentries": {"datatypeinfo (class in ni_measurementlink_service._datatypeinfo)": [[1, "ni_measurementlink_service._datatypeinfo.DataTypeInfo"]], "get_type_info() (in module ni_measurementlink_service._datatypeinfo)": [[1, "ni_measurementlink_service._datatypeinfo.get_type_info"]], "grpc_field_type (ni_measurementlink_service._datatypeinfo.datatypeinfo attribute)": [[1, "ni_measurementlink_service._datatypeinfo.DataTypeInfo.grpc_field_type"]], "message_type (ni_measurementlink_service._datatypeinfo.datatypeinfo attribute)": [[1, "ni_measurementlink_service._datatypeinfo.DataTypeInfo.message_type"]], "module": [[1, "module-ni_measurementlink_service._datatypeinfo"], [2, "module-ni_measurementlink_service._internal.discovery_client"], [3, "module-ni_measurementlink_service._internal.grpc_servicer"], [4, "module-ni_measurementlink_service._internal"], [5, "module-ni_measurementlink_service._internal.parameter"], [6, "module-ni_measurementlink_service._internal.parameter.metadata"], [7, "module-ni_measurementlink_service._internal.parameter.serialization_strategy"], [8, "module-ni_measurementlink_service._internal.parameter.serializer"], [9, "module-ni_measurementlink_service._internal.service_manager"], [10, "module-ni_measurementlink_service._internal.stubs"], [11, "module-ni_measurementlink_service._internal.stubs.ni"], [12, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery"], [13, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2"], [14, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc"], [15, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1"], [16, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink"], [17, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement"], [18, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1"], [19, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2"], [20, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc"], [21, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2"], [22, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2"], [23, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc"], [24, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2"], [25, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc"], [26, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap"], [27, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1"], [28, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2"], [29, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc"], [30, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement"], [31, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1"], [32, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2"], [33, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc"], [34, "module-ni_measurementlink_service._internal.stubs.ni.protobuf"], [35, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types"], [36, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2"], [37, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc"], [38, "module-ni_measurementlink_service._internal.stubs.session_pb2"], [39, "module-ni_measurementlink_service._internal.stubs.session_pb2_grpc"], [40, "module-ni_measurementlink_service._internal.utilities"], [41, "module-ni_measurementlink_service._loggers"], [42, "module-ni_measurementlink_service._tracelogging"], [43, "module-ni_measurementlink_service"], [44, "module-ni_measurementlink_service.measurement"], [45, "module-ni_measurementlink_service.measurement.info"], [46, "module-ni_measurementlink_service.measurement.service"], [47, "module-ni_measurementlink_service.session_management"]], "ni_measurementlink_service._datatypeinfo": [[1, "module-ni_measurementlink_service._datatypeinfo"]], "repeated (ni_measurementlink_service._datatypeinfo.datatypeinfo attribute)": [[1, "ni_measurementlink_service._datatypeinfo.DataTypeInfo.repeated"]], "type_specialization (ni_measurementlink_service._datatypeinfo.datatypeinfo attribute)": [[1, "ni_measurementlink_service._datatypeinfo.DataTypeInfo.type_specialization"]], "discoveryclient (class in ni_measurementlink_service._internal.discovery_client)": [[2, "ni_measurementlink_service._internal.discovery_client.DiscoveryClient"]], "servicelocation (class in ni_measurementlink_service._internal.discovery_client)": [[2, "ni_measurementlink_service._internal.discovery_client.ServiceLocation"]], "insecure_address (ni_measurementlink_service._internal.discovery_client.servicelocation property)": [[2, "ni_measurementlink_service._internal.discovery_client.ServiceLocation.insecure_address"]], "insecure_port (ni_measurementlink_service._internal.discovery_client.servicelocation attribute)": [[2, "ni_measurementlink_service._internal.discovery_client.ServiceLocation.insecure_port"]], "location (ni_measurementlink_service._internal.discovery_client.servicelocation attribute)": [[2, "ni_measurementlink_service._internal.discovery_client.ServiceLocation.location"]], "ni_measurementlink_service._internal.discovery_client": [[2, "module-ni_measurementlink_service._internal.discovery_client"]], "register_measurement_service() (ni_measurementlink_service._internal.discovery_client.discoveryclient method)": [[2, "ni_measurementlink_service._internal.discovery_client.DiscoveryClient.register_measurement_service"]], "resolve_service() (ni_measurementlink_service._internal.discovery_client.discoveryclient method)": [[2, "ni_measurementlink_service._internal.discovery_client.DiscoveryClient.resolve_service"]], "ssl_authenticated_address (ni_measurementlink_service._internal.discovery_client.servicelocation property)": [[2, "ni_measurementlink_service._internal.discovery_client.ServiceLocation.ssl_authenticated_address"]], "ssl_authenticated_port (ni_measurementlink_service._internal.discovery_client.servicelocation attribute)": [[2, "ni_measurementlink_service._internal.discovery_client.ServiceLocation.ssl_authenticated_port"]], "stub (ni_measurementlink_service._internal.discovery_client.discoveryclient property)": [[2, "ni_measurementlink_service._internal.discovery_client.DiscoveryClient.stub"]], "unregister_service() (ni_measurementlink_service._internal.discovery_client.discoveryclient method)": [[2, "ni_measurementlink_service._internal.discovery_client.DiscoveryClient.unregister_service"]], "getmetadata() (ni_measurementlink_service._internal.grpc_servicer.measurementserviceservicerv1 method)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV1.GetMetadata"]], "getmetadata() (ni_measurementlink_service._internal.grpc_servicer.measurementserviceservicerv2 method)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV2.GetMetadata"]], "measure() (ni_measurementlink_service._internal.grpc_servicer.measurementserviceservicerv1 method)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV1.Measure"]], "measure() (ni_measurementlink_service._internal.grpc_servicer.measurementserviceservicerv2 method)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV2.Measure"]], "measurementservicecontext (class in ni_measurementlink_service._internal.grpc_servicer)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext"]], "measurementserviceservicerv1 (class in ni_measurementlink_service._internal.grpc_servicer)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV1"]], "measurementserviceservicerv2 (class in ni_measurementlink_service._internal.grpc_servicer)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV2"]], "abort() (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext method)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.abort"]], "add_cancel_callback() (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext method)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.add_cancel_callback"]], "cancel() (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext method)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.cancel"]], "grpc_context (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext property)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.grpc_context"]], "mark_complete() (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext method)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.mark_complete"]], "measurement_service_context (in module ni_measurementlink_service._internal.grpc_servicer)": [[3, "ni_measurementlink_service._internal.grpc_servicer.measurement_service_context"]], "ni_measurementlink_service._internal.grpc_servicer": [[3, "module-ni_measurementlink_service._internal.grpc_servicer"]], "pin_map_context (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext property)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.pin_map_context"]], "time_remaining (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext property)": [[3, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.time_remaining"]], "ni_measurementlink_service._internal": [[4, "module-ni_measurementlink_service._internal"]], "ni_measurementlink_service._internal.parameter": [[5, "module-ni_measurementlink_service._internal.parameter"]], "parametermetadata (class in ni_measurementlink_service._internal.parameter.metadata)": [[6, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata"]], "annotations (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[6, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.annotations"]], "default_value (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[6, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.default_value"]], "display_name (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[6, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.display_name"]], "get_enum_values_annotation() (in module ni_measurementlink_service._internal.parameter.metadata)": [[6, "ni_measurementlink_service._internal.parameter.metadata.get_enum_values_annotation"]], "message_type (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[6, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.message_type"]], "ni_measurementlink_service._internal.parameter.metadata": [[6, "module-ni_measurementlink_service._internal.parameter.metadata"]], "repeated (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[6, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.repeated"]], "type (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[6, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.type"]], "validate_default_value_type() (in module ni_measurementlink_service._internal.parameter.metadata)": [[6, "ni_measurementlink_service._internal.parameter.metadata.validate_default_value_type"]], "boolarraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.BoolArrayDecoder"]], "boolarrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.BoolArrayEncoder"]], "booldecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.BoolDecoder"]], "boolencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.BoolEncoder"]], "context (class in ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.Context"]], "doublearraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleArrayDecoder"]], "doublearrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleArrayEncoder"]], "doubledecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleDecoder"]], "doubleencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleEncoder"]], "floatarraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.FloatArrayDecoder"]], "floatarrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.FloatArrayEncoder"]], "floatdecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.FloatDecoder"]], "floatencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.FloatEncoder"]], "int32arraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.Int32ArrayDecoder"]], "int32decoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.Int32Decoder"]], "int64arraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.Int64ArrayDecoder"]], "int64decoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.Int64Decoder"]], "intarrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.IntArrayEncoder"]], "intencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.IntEncoder"]], "stringarraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.StringArrayDecoder"]], "stringarrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.StringArrayEncoder"]], "stringdecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.StringDecoder"]], "stringencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.StringEncoder"]], "uint32arraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.UInt32ArrayDecoder"]], "uint32decoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.UInt32Decoder"]], "uint64arraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.UInt64ArrayDecoder"]], "uint64decoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.UInt64Decoder"]], "uintarrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.UIntArrayEncoder"]], "uintencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.UIntEncoder"]], "get_decoder() (ni_measurementlink_service._internal.parameter.serialization_strategy.context static method)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.Context.get_decoder"]], "get_encoder() (ni_measurementlink_service._internal.parameter.serialization_strategy.context static method)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.Context.get_encoder"]], "get_type_default() (ni_measurementlink_service._internal.parameter.serialization_strategy.context static method)": [[7, "ni_measurementlink_service._internal.parameter.serialization_strategy.Context.get_type_default"]], "ni_measurementlink_service._internal.parameter.serialization_strategy": [[7, "module-ni_measurementlink_service._internal.parameter.serialization_strategy"]], "deserialize_parameters() (in module ni_measurementlink_service._internal.parameter.serializer)": [[8, "ni_measurementlink_service._internal.parameter.serializer.deserialize_parameters"]], "ni_measurementlink_service._internal.parameter.serializer": [[8, "module-ni_measurementlink_service._internal.parameter.serializer"]], "serialize_default_values() (in module ni_measurementlink_service._internal.parameter.serializer)": [[8, "ni_measurementlink_service._internal.parameter.serializer.serialize_default_values"]], "serialize_parameters() (in module ni_measurementlink_service._internal.parameter.serializer)": [[8, "ni_measurementlink_service._internal.parameter.serializer.serialize_parameters"]], "grpcservice (class in ni_measurementlink_service._internal.service_manager)": [[9, "ni_measurementlink_service._internal.service_manager.GrpcService"]], "ni_measurementlink_service._internal.service_manager": [[9, "module-ni_measurementlink_service._internal.service_manager"]], "start() (ni_measurementlink_service._internal.service_manager.grpcservice method)": [[9, "ni_measurementlink_service._internal.service_manager.GrpcService.start"]], "stop() (ni_measurementlink_service._internal.service_manager.grpcservice method)": [[9, "ni_measurementlink_service._internal.service_manager.GrpcService.stop"]], "ni_measurementlink_service._internal.stubs": [[10, "module-ni_measurementlink_service._internal.stubs"]], "ni_measurementlink_service._internal.stubs.ni": [[11, "module-ni_measurementlink_service._internal.stubs.ni"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery": [[12, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2)": [[13, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2": [[13, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2"]], "discoveryservice (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService"]], "discoveryserviceservicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer"]], "discoveryservicestub (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceStub"]], "enumerateservices() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryservice static method)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService.EnumerateServices"]], "enumerateservices() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryserviceservicer method)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer.EnumerateServices"]], "registerservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryservice static method)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService.RegisterService"]], "registerservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryserviceservicer method)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer.RegisterService"]], "resolveservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryservice static method)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService.ResolveService"]], "resolveservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryserviceservicer method)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer.ResolveService"]], "unregisterservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryservice static method)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService.UnregisterService"]], "unregisterservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryserviceservicer method)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer.UnregisterService"]], "add_discoveryserviceservicer_to_server() (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc)": [[14, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.add_DiscoveryServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc": [[14, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1": [[15, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink": [[16, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement": [[17, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1": [[18, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2)": [[19, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2": [[19, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2"]], "getmetadata() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.measurementservice static method)": [[20, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementService.GetMetadata"]], "getmetadata() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.measurementserviceservicer method)": [[20, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementServiceServicer.GetMetadata"]], "measure() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.measurementservice static method)": [[20, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementService.Measure"]], "measure() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.measurementserviceservicer method)": [[20, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementServiceServicer.Measure"]], "measurementservice (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc)": [[20, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementService"]], "measurementserviceservicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc)": [[20, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementServiceServicer"]], "measurementservicestub (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc)": [[20, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementServiceStub"]], "add_measurementserviceservicer_to_server() (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc)": [[20, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.add_MeasurementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc": [[20, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2": [[21, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2)": [[22, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2": [[22, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2"]], "getmetadata() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.measurementservice static method)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementService.GetMetadata"]], "getmetadata() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.measurementserviceservicer method)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementServiceServicer.GetMetadata"]], "measure() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.measurementservice static method)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementService.Measure"]], "measure() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.measurementserviceservicer method)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementServiceServicer.Measure"]], "measurementservice (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementService"]], "measurementserviceservicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementServiceServicer"]], "measurementservicestub (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementServiceStub"]], "add_measurementserviceservicer_to_server() (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.add_MeasurementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc": [[23, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2)": [[24, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2": [[24, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc": [[25, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap": [[26, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1": [[27, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2)": [[28, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2": [[28, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2"]], "createpinmapfromxml() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.CreatePinMapFromXml"]], "createpinmapfromxml() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.CreatePinMapFromXml"]], "getpinmap() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.GetPinMap"]], "getpinmap() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.GetPinMap"]], "pinmapservice (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService"]], "pinmapserviceservicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer"]], "pinmapservicestub (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceStub"]], "querypins() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.QueryPins"]], "querypins() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.QueryPins"]], "queryrelays() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.QueryRelays"]], "queryrelays() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.QueryRelays"]], "queryresourceaccessinformation() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.QueryResourceAccessInformation"]], "queryresourceaccessinformation() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.QueryResourceAccessInformation"]], "updatepinmapfromxml() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.UpdatePinMapFromXml"]], "updatepinmapfromxml() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.UpdatePinMapFromXml"]], "add_pinmapserviceservicer_to_server() (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc)": [[29, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.add_PinMapServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc": [[29, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement": [[30, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1": [[31, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2": [[32, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2"]], "registersessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementservice static method)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService.RegisterSessions"]], "registersessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementserviceservicer method)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer.RegisterSessions"]], "reserveallregisteredsessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementservice static method)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService.ReserveAllRegisteredSessions"]], "reserveallregisteredsessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementserviceservicer method)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer.ReserveAllRegisteredSessions"]], "reservesessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementservice static method)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService.ReserveSessions"]], "reservesessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementserviceservicer method)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer.ReserveSessions"]], "sessionmanagementservice (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService"]], "sessionmanagementserviceservicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer"]], "sessionmanagementservicestub (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceStub"]], "unregistersessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementservice static method)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService.UnregisterSessions"]], "unregistersessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementserviceservicer method)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer.UnregisterSessions"]], "unreservesessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementservice static method)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService.UnreserveSessions"]], "unreservesessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementserviceservicer method)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer.UnreserveSessions"]], "add_sessionmanagementserviceservicer_to_server() (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc)": [[33, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.add_SessionManagementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc": [[33, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.protobuf": [[34, "module-ni_measurementlink_service._internal.stubs.ni.protobuf"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types": [[35, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2)": [[36, "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2": [[36, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc": [[37, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc"]], "descriptor (in module ni_measurementlink_service._internal.stubs.session_pb2)": [[38, "ni_measurementlink_service._internal.stubs.session_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.session_pb2": [[38, "module-ni_measurementlink_service._internal.stubs.session_pb2"]], "enumeratedevices() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilities static method)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities.EnumerateDevices"]], "enumeratedevices() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilitiesservicer method)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer.EnumerateDevices"]], "isreservedbyclient() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilities static method)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities.IsReservedByClient"]], "isreservedbyclient() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilitiesservicer method)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer.IsReservedByClient"]], "reserve() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilities static method)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities.Reserve"]], "reserve() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilitiesservicer method)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer.Reserve"]], "resetserver() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilities static method)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities.ResetServer"]], "resetserver() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilitiesservicer method)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer.ResetServer"]], "sessionutilities (class in ni_measurementlink_service._internal.stubs.session_pb2_grpc)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities"]], "sessionutilitiesservicer (class in ni_measurementlink_service._internal.stubs.session_pb2_grpc)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer"]], "sessionutilitiesstub (class in ni_measurementlink_service._internal.stubs.session_pb2_grpc)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesStub"]], "unreserve() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilities static method)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities.Unreserve"]], "unreserve() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilitiesservicer method)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer.Unreserve"]], "add_sessionutilitiesservicer_to_server() (in module ni_measurementlink_service._internal.stubs.session_pb2_grpc)": [[39, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.add_SessionUtilitiesServicer_to_server"]], "ni_measurementlink_service._internal.stubs.session_pb2_grpc": [[39, "module-ni_measurementlink_service._internal.stubs.session_pb2_grpc"]], "ni_measurementlink_service._internal.utilities": [[40, "module-ni_measurementlink_service._internal.utilities"]], "clientlogger (class in ni_measurementlink_service._loggers)": [[41, "ni_measurementlink_service._loggers.ClientLogger"]], "serverlogger (class in ni_measurementlink_service._loggers)": [[41, "ni_measurementlink_service._loggers.ServerLogger"]], "intercept_service() (ni_measurementlink_service._loggers.serverlogger method)": [[41, "ni_measurementlink_service._loggers.ServerLogger.intercept_service"]], "intercept_stream_stream() (ni_measurementlink_service._loggers.clientlogger method)": [[41, "ni_measurementlink_service._loggers.ClientLogger.intercept_stream_stream"]], "intercept_stream_unary() (ni_measurementlink_service._loggers.clientlogger method)": [[41, "ni_measurementlink_service._loggers.ClientLogger.intercept_stream_unary"]], "intercept_unary_stream() (ni_measurementlink_service._loggers.clientlogger method)": [[41, "ni_measurementlink_service._loggers.ClientLogger.intercept_unary_stream"]], "intercept_unary_unary() (ni_measurementlink_service._loggers.clientlogger method)": [[41, "ni_measurementlink_service._loggers.ClientLogger.intercept_unary_unary"]], "is_enabled() (ni_measurementlink_service._loggers.clientlogger class method)": [[41, "ni_measurementlink_service._loggers.ClientLogger.is_enabled"]], "is_enabled() (ni_measurementlink_service._loggers.serverlogger class method)": [[41, "ni_measurementlink_service._loggers.ServerLogger.is_enabled"]], "ni_measurementlink_service._loggers": [[41, "module-ni_measurementlink_service._loggers"]], "is_enabled() (in module ni_measurementlink_service._tracelogging)": [[42, "ni_measurementlink_service._tracelogging.is_enabled"]], "log_grpc_client_call_start() (in module ni_measurementlink_service._tracelogging)": [[42, "ni_measurementlink_service._tracelogging.log_grpc_client_call_start"]], "log_grpc_client_call_stop() (in module ni_measurementlink_service._tracelogging)": [[42, "ni_measurementlink_service._tracelogging.log_grpc_client_call_stop"]], "log_grpc_client_call_streaming_request() (in module ni_measurementlink_service._tracelogging)": [[42, "ni_measurementlink_service._tracelogging.log_grpc_client_call_streaming_request"]], "log_grpc_client_call_streaming_response() (in module ni_measurementlink_service._tracelogging)": [[42, "ni_measurementlink_service._tracelogging.log_grpc_client_call_streaming_response"]], "log_grpc_server_call_start() (in module ni_measurementlink_service._tracelogging)": [[42, "ni_measurementlink_service._tracelogging.log_grpc_server_call_start"]], "log_grpc_server_call_stop() (in module ni_measurementlink_service._tracelogging)": [[42, "ni_measurementlink_service._tracelogging.log_grpc_server_call_stop"]], "log_grpc_server_call_streaming_request() (in module ni_measurementlink_service._tracelogging)": [[42, "ni_measurementlink_service._tracelogging.log_grpc_server_call_streaming_request"]], "log_grpc_server_call_streaming_response() (in module ni_measurementlink_service._tracelogging)": [[42, "ni_measurementlink_service._tracelogging.log_grpc_server_call_streaming_response"]], "ni_measurementlink_service._tracelogging": [[42, "module-ni_measurementlink_service._tracelogging"]], "boolean (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.Boolean"]], "booleanarray1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.BooleanArray1D"]], "datatype (class in ni_measurementlink_service)": [[43, "ni_measurementlink_service.DataType"]], "double (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.Double"]], "doublearray1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.DoubleArray1D"]], "doublexydata (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.DoubleXYData"]], "enum (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.Enum"]], "enumarray1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.EnumArray1D"]], "float (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.Float"]], "floatarray1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.FloatArray1D"]], "int32 (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.Int32"]], "int32array1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.Int32Array1D"]], "int64 (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.Int64"]], "int64array1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.Int64Array1D"]], "measurementinfo (class in ni_measurementlink_service)": [[43, "ni_measurementlink_service.MeasurementInfo"]], "measurementservice (class in ni_measurementlink_service)": [[43, "ni_measurementlink_service.MeasurementService"]], "path (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.Path"]], "patharray1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.PathArray1D"]], "pin (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.Pin"]], "pinarray1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.PinArray1D"]], "serviceinfo (class in ni_measurementlink_service)": [[43, "ni_measurementlink_service.ServiceInfo"]], "string (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.String"]], "stringarray1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.StringArray1D"]], "uint32 (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.UInt32"]], "uint32array1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.UInt32Array1D"]], "uint64 (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.UInt64"]], "uint64array1d (ni_measurementlink_service.datatype attribute)": [[43, "ni_measurementlink_service.DataType.UInt64Array1D"]], "__enter__() (ni_measurementlink_service.measurementservice method)": [[43, "ni_measurementlink_service.MeasurementService.__enter__"]], "__exit__() (ni_measurementlink_service.measurementservice method)": [[43, "ni_measurementlink_service.MeasurementService.__exit__"]], "annotations (ni_measurementlink_service.serviceinfo attribute)": [[43, "ni_measurementlink_service.ServiceInfo.annotations"]], "close_service() (ni_measurementlink_service.measurementservice method)": [[43, "ni_measurementlink_service.MeasurementService.close_service"]], "configuration() (ni_measurementlink_service.measurementservice method)": [[43, "ni_measurementlink_service.MeasurementService.configuration"]], "description_url (ni_measurementlink_service.serviceinfo attribute)": [[43, "ni_measurementlink_service.ServiceInfo.description_url"]], "display_name (ni_measurementlink_service.measurementinfo attribute)": [[43, "ni_measurementlink_service.MeasurementInfo.display_name"]], "get_channel() (ni_measurementlink_service.measurementservice method)": [[43, "ni_measurementlink_service.MeasurementService.get_channel"]], "host_service() (ni_measurementlink_service.measurementservice method)": [[43, "ni_measurementlink_service.MeasurementService.host_service"]], "ni_measurementlink_service": [[43, "module-ni_measurementlink_service"]], "output() (ni_measurementlink_service.measurementservice method)": [[43, "ni_measurementlink_service.MeasurementService.output"]], "provided_interfaces (ni_measurementlink_service.serviceinfo attribute)": [[43, "ni_measurementlink_service.ServiceInfo.provided_interfaces"]], "register_measurement() (ni_measurementlink_service.measurementservice method)": [[43, "ni_measurementlink_service.MeasurementService.register_measurement"]], "service_class (ni_measurementlink_service.serviceinfo attribute)": [[43, "ni_measurementlink_service.ServiceInfo.service_class"]], "ui_file_paths (ni_measurementlink_service.measurementinfo attribute)": [[43, "ni_measurementlink_service.MeasurementInfo.ui_file_paths"]], "version (ni_measurementlink_service.measurementinfo attribute)": [[43, "ni_measurementlink_service.MeasurementInfo.version"]], "ni_measurementlink_service.measurement": [[44, "module-ni_measurementlink_service.measurement"]], "boolean (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.Boolean"]], "booleanarray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.BooleanArray1D"]], "datatype (class in ni_measurementlink_service.measurement.info)": [[45, "ni_measurementlink_service.measurement.info.DataType"]], "double (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.Double"]], "doublearray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.DoubleArray1D"]], "doublexydata (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.DoubleXYData"]], "enum (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.Enum"]], "enum (ni_measurementlink_service.measurement.info.typespecialization attribute)": [[45, "ni_measurementlink_service.measurement.info.TypeSpecialization.Enum"]], "enumarray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.EnumArray1D"]], "float (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.Float"]], "floatarray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.FloatArray1D"]], "int32 (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.Int32"]], "int32array1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.Int32Array1D"]], "int64 (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.Int64"]], "int64array1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.Int64Array1D"]], "measurementinfo (class in ni_measurementlink_service.measurement.info)": [[45, "ni_measurementlink_service.measurement.info.MeasurementInfo"]], "notype (ni_measurementlink_service.measurement.info.typespecialization attribute)": [[45, "ni_measurementlink_service.measurement.info.TypeSpecialization.NoType"]], "path (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.Path"]], "path (ni_measurementlink_service.measurement.info.typespecialization attribute)": [[45, "ni_measurementlink_service.measurement.info.TypeSpecialization.Path"]], "patharray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.PathArray1D"]], "pin (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.Pin"]], "pin (ni_measurementlink_service.measurement.info.typespecialization attribute)": [[45, "ni_measurementlink_service.measurement.info.TypeSpecialization.Pin"]], "pinarray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.PinArray1D"]], "serviceinfo (class in ni_measurementlink_service.measurement.info)": [[45, "ni_measurementlink_service.measurement.info.ServiceInfo"]], "string (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.String"]], "stringarray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.StringArray1D"]], "typespecialization (class in ni_measurementlink_service.measurement.info)": [[45, "ni_measurementlink_service.measurement.info.TypeSpecialization"]], "uint32 (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.UInt32"]], "uint32array1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.UInt32Array1D"]], "uint64 (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.UInt64"]], "uint64array1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[45, "ni_measurementlink_service.measurement.info.DataType.UInt64Array1D"]], "annotations (ni_measurementlink_service.measurement.info.serviceinfo attribute)": [[45, "ni_measurementlink_service.measurement.info.ServiceInfo.annotations"]], "description_url (ni_measurementlink_service.measurement.info.serviceinfo attribute)": [[45, "ni_measurementlink_service.measurement.info.ServiceInfo.description_url"]], "display_name (ni_measurementlink_service.measurement.info.measurementinfo attribute)": [[45, "ni_measurementlink_service.measurement.info.MeasurementInfo.display_name"]], "ni_measurementlink_service.measurement.info": [[45, "module-ni_measurementlink_service.measurement.info"]], "provided_interfaces (ni_measurementlink_service.measurement.info.serviceinfo attribute)": [[45, "ni_measurementlink_service.measurement.info.ServiceInfo.provided_interfaces"]], "service_class (ni_measurementlink_service.measurement.info.serviceinfo attribute)": [[45, "ni_measurementlink_service.measurement.info.ServiceInfo.service_class"]], "ui_file_paths (ni_measurementlink_service.measurement.info.measurementinfo attribute)": [[45, "ni_measurementlink_service.measurement.info.MeasurementInfo.ui_file_paths"]], "version (ni_measurementlink_service.measurement.info.measurementinfo attribute)": [[45, "ni_measurementlink_service.measurement.info.MeasurementInfo.version"]], "grpcchannelpool (class in ni_measurementlink_service.measurement.service)": [[46, "ni_measurementlink_service.measurement.service.GrpcChannelPool"]], "measurementcontext (class in ni_measurementlink_service.measurement.service)": [[46, "ni_measurementlink_service.measurement.service.MeasurementContext"]], "measurementservice (class in ni_measurementlink_service.measurement.service)": [[46, "ni_measurementlink_service.measurement.service.MeasurementService"]], "supportedenumtype (in module ni_measurementlink_service.measurement.service)": [[46, "ni_measurementlink_service.measurement.service.SupportedEnumType"]], "__enter__() (ni_measurementlink_service.measurement.service.grpcchannelpool method)": [[46, "ni_measurementlink_service.measurement.service.GrpcChannelPool.__enter__"]], "__enter__() (ni_measurementlink_service.measurement.service.measurementservice method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementService.__enter__"]], "__exit__() (ni_measurementlink_service.measurement.service.grpcchannelpool method)": [[46, "ni_measurementlink_service.measurement.service.GrpcChannelPool.__exit__"]], "__exit__() (ni_measurementlink_service.measurement.service.measurementservice method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementService.__exit__"]], "abort() (ni_measurementlink_service.measurement.service.measurementcontext method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementContext.abort"]], "add_cancel_callback() (ni_measurementlink_service.measurement.service.measurementcontext method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementContext.add_cancel_callback"]], "cancel() (ni_measurementlink_service.measurement.service.measurementcontext method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementContext.cancel"]], "close() (ni_measurementlink_service.measurement.service.grpcchannelpool method)": [[46, "ni_measurementlink_service.measurement.service.GrpcChannelPool.close"]], "close_service() (ni_measurementlink_service.measurement.service.measurementservice method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementService.close_service"]], "configuration() (ni_measurementlink_service.measurement.service.measurementservice method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementService.configuration"]], "get_channel() (ni_measurementlink_service.measurement.service.grpcchannelpool method)": [[46, "ni_measurementlink_service.measurement.service.GrpcChannelPool.get_channel"]], "get_channel() (ni_measurementlink_service.measurement.service.measurementservice method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementService.get_channel"]], "grpc_context (ni_measurementlink_service.measurement.service.measurementcontext property)": [[46, "ni_measurementlink_service.measurement.service.MeasurementContext.grpc_context"]], "host_service() (ni_measurementlink_service.measurement.service.measurementservice method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementService.host_service"]], "ni_measurementlink_service.measurement.service": [[46, "module-ni_measurementlink_service.measurement.service"]], "output() (ni_measurementlink_service.measurement.service.measurementservice method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementService.output"]], "pin_map_context (ni_measurementlink_service.measurement.service.measurementcontext property)": [[46, "ni_measurementlink_service.measurement.service.MeasurementContext.pin_map_context"]], "register_measurement() (ni_measurementlink_service.measurement.service.measurementservice method)": [[46, "ni_measurementlink_service.measurement.service.MeasurementService.register_measurement"]], "time_remaining (ni_measurementlink_service.measurement.service.measurementcontext property)": [[46, "ni_measurementlink_service.measurement.service.MeasurementContext.time_remaining"]], "basereservation (class in ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.BaseReservation"]], "channelmapping (class in ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.ChannelMapping"]], "client (class in ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.Client"]], "grpc_service_class (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.GRPC_SERVICE_CLASS"]], "grpc_service_interface_name (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.GRPC_SERVICE_INTERFACE_NAME"]], "instrument_type_ni_daqmx (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_DAQMX"]], "instrument_type_ni_dcpower (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_DCPOWER"]], "instrument_type_ni_digital_pattern (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_DIGITAL_PATTERN"]], "instrument_type_ni_dmm (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_DMM"]], "instrument_type_ni_fgen (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_FGEN"]], "instrument_type_ni_hsdio (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_HSDIO"]], "instrument_type_ni_model_based_instrument (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_MODEL_BASED_INSTRUMENT"]], "instrument_type_ni_relay_driver (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RELAY_DRIVER"]], "instrument_type_ni_rfmx (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RFMX"]], "instrument_type_ni_rfpm (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RFPM"]], "instrument_type_ni_rfsa (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RFSA"]], "instrument_type_ni_rfsg (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RFSG"]], "instrument_type_ni_scope (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_SCOPE"]], "instrument_type_ni_switch_executive_virtual_device (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_SWITCH_EXECUTIVE_VIRTUAL_DEVICE"]], "instrument_type_none (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NONE"]], "multisessionreservation (class in ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.MultiSessionReservation"]], "pinmapcontext (class in ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.PinMapContext"]], "sessioninformation (class in ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.SessionInformation"]], "singlesessionreservation (class in ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.SingleSessionReservation"]], "__enter__() (ni_measurementlink_service.session_management.basereservation method)": [[47, "ni_measurementlink_service.session_management.BaseReservation.__enter__"]], "__exit__() (ni_measurementlink_service.session_management.basereservation method)": [[47, "ni_measurementlink_service.session_management.BaseReservation.__exit__"]], "__getattr__() (in module ni_measurementlink_service.session_management)": [[47, "ni_measurementlink_service.session_management.__getattr__"]], "channel (ni_measurementlink_service.session_management.channelmapping attribute)": [[47, "ni_measurementlink_service.session_management.ChannelMapping.channel"]], "channel_list (ni_measurementlink_service.session_management.sessioninformation attribute)": [[47, "ni_measurementlink_service.session_management.SessionInformation.channel_list"]], "channel_mappings (ni_measurementlink_service.session_management.sessioninformation attribute)": [[47, "ni_measurementlink_service.session_management.SessionInformation.channel_mappings"]], "instrument_type_id (ni_measurementlink_service.session_management.sessioninformation attribute)": [[47, "ni_measurementlink_service.session_management.SessionInformation.instrument_type_id"]], "ni_measurementlink_service.session_management": [[47, "module-ni_measurementlink_service.session_management"]], "pin_map_id (ni_measurementlink_service.session_management.pinmapcontext attribute)": [[47, "ni_measurementlink_service.session_management.PinMapContext.pin_map_id"]], "pin_or_relay_name (ni_measurementlink_service.session_management.channelmapping attribute)": [[47, "ni_measurementlink_service.session_management.ChannelMapping.pin_or_relay_name"]], "register_sessions() (ni_measurementlink_service.session_management.client method)": [[47, "ni_measurementlink_service.session_management.Client.register_sessions"]], "reserve_all_registered_sessions() (ni_measurementlink_service.session_management.client method)": [[47, "ni_measurementlink_service.session_management.Client.reserve_all_registered_sessions"]], "reserve_session() (ni_measurementlink_service.session_management.client method)": [[47, "ni_measurementlink_service.session_management.Client.reserve_session"]], "reserve_sessions() (ni_measurementlink_service.session_management.client method)": [[47, "ni_measurementlink_service.session_management.Client.reserve_sessions"]], "resource_name (ni_measurementlink_service.session_management.sessioninformation attribute)": [[47, "ni_measurementlink_service.session_management.SessionInformation.resource_name"]], "session_exists (ni_measurementlink_service.session_management.sessioninformation attribute)": [[47, "ni_measurementlink_service.session_management.SessionInformation.session_exists"]], "session_info() (ni_measurementlink_service.session_management.multisessionreservation method)": [[47, "ni_measurementlink_service.session_management.MultiSessionReservation.session_info"]], "session_info() (ni_measurementlink_service.session_management.singlesessionreservation method)": [[47, "ni_measurementlink_service.session_management.SingleSessionReservation.session_info"]], "session_name (ni_measurementlink_service.session_management.sessioninformation attribute)": [[47, "ni_measurementlink_service.session_management.SessionInformation.session_name"]], "site (ni_measurementlink_service.session_management.channelmapping attribute)": [[47, "ni_measurementlink_service.session_management.ChannelMapping.site"]], "sites (ni_measurementlink_service.session_management.pinmapcontext attribute)": [[47, "ni_measurementlink_service.session_management.PinMapContext.sites"]], "unregister_sessions() (ni_measurementlink_service.session_management.client method)": [[47, "ni_measurementlink_service.session_management.Client.unregister_sessions"]], "unreserve() (ni_measurementlink_service.session_management.basereservation method)": [[47, "ni_measurementlink_service.session_management.BaseReservation.unreserve"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["autoapi/index", "autoapi/ni_measurementlink_service/_channelpool/index", "autoapi/ni_measurementlink_service/_datatypeinfo/index", "autoapi/ni_measurementlink_service/_internal/discovery_client/index", "autoapi/ni_measurementlink_service/_internal/grpc_servicer/index", "autoapi/ni_measurementlink_service/_internal/index", "autoapi/ni_measurementlink_service/_internal/parameter/_message/index", "autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index", "autoapi/ni_measurementlink_service/_internal/parameter/index", "autoapi/ni_measurementlink_service/_internal/parameter/metadata/index", "autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index", "autoapi/ni_measurementlink_service/_internal/parameter/serializer/index", "autoapi/ni_measurementlink_service/_internal/service_manager/index", "autoapi/ni_measurementlink_service/_internal/stubs/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/stubs/session_pb2/index", "autoapi/ni_measurementlink_service/_internal/stubs/session_pb2_grpc/index", "autoapi/ni_measurementlink_service/_internal/utilities/index", "autoapi/ni_measurementlink_service/_loggers/index", "autoapi/ni_measurementlink_service/_tracelogging/index", "autoapi/ni_measurementlink_service/index", "autoapi/ni_measurementlink_service/measurement/index", "autoapi/ni_measurementlink_service/measurement/info/index", "autoapi/ni_measurementlink_service/measurement/service/index", "autoapi/ni_measurementlink_service/session_management/index", "index"], "filenames": ["autoapi/index.rst", "autoapi/ni_measurementlink_service/_channelpool/index.rst", "autoapi/ni_measurementlink_service/_datatypeinfo/index.rst", "autoapi/ni_measurementlink_service/_internal/discovery_client/index.rst", "autoapi/ni_measurementlink_service/_internal/grpc_servicer/index.rst", "autoapi/ni_measurementlink_service/_internal/index.rst", "autoapi/ni_measurementlink_service/_internal/parameter/_message/index.rst", "autoapi/ni_measurementlink_service/_internal/parameter/_serializer_types/index.rst", "autoapi/ni_measurementlink_service/_internal/parameter/index.rst", "autoapi/ni_measurementlink_service/_internal/parameter/metadata/index.rst", "autoapi/ni_measurementlink_service/_internal/parameter/serialization_strategy/index.rst", "autoapi/ni_measurementlink_service/_internal/parameter/serializer/index.rst", "autoapi/ni_measurementlink_service/_internal/service_manager/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/discovery_service_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/discovery/v1/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v1/measurement_service_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/measurement/v2/measurement_service_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pin_map_context_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/pinmap/v1/pin_map_service_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/measurementlink/sessionmanagement/v1/session_management_service_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/ni/protobuf/types/xydata_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/session_pb2/index.rst", "autoapi/ni_measurementlink_service/_internal/stubs/session_pb2_grpc/index.rst", "autoapi/ni_measurementlink_service/_internal/utilities/index.rst", "autoapi/ni_measurementlink_service/_loggers/index.rst", "autoapi/ni_measurementlink_service/_tracelogging/index.rst", "autoapi/ni_measurementlink_service/index.rst", "autoapi/ni_measurementlink_service/measurement/index.rst", "autoapi/ni_measurementlink_service/measurement/info/index.rst", "autoapi/ni_measurementlink_service/measurement/service/index.rst", "autoapi/ni_measurementlink_service/session_management/index.rst", "index.rst"], "titles": ["API Reference", "ni_measurementlink_service._channelpool", "ni_measurementlink_service._datatypeinfo", "ni_measurementlink_service._internal.discovery_client", "ni_measurementlink_service._internal.grpc_servicer", "ni_measurementlink_service._internal", "ni_measurementlink_service._internal.parameter._message", "ni_measurementlink_service._internal.parameter._serializer_types", "ni_measurementlink_service._internal.parameter", "ni_measurementlink_service._internal.parameter.metadata", "ni_measurementlink_service._internal.parameter.serialization_strategy", "ni_measurementlink_service._internal.parameter.serializer", "ni_measurementlink_service._internal.service_manager", "ni_measurementlink_service._internal.stubs", "ni_measurementlink_service._internal.stubs.ni", "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery", "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1", "ni_measurementlink_service._internal.stubs.ni.measurementlink", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement", "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1", "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2", "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc", "ni_measurementlink_service._internal.stubs.ni.protobuf", "ni_measurementlink_service._internal.stubs.ni.protobuf.types", "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2", "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc", "ni_measurementlink_service._internal.stubs.session_pb2", "ni_measurementlink_service._internal.stubs.session_pb2_grpc", "ni_measurementlink_service._internal.utilities", "ni_measurementlink_service._loggers", "ni_measurementlink_service._tracelogging", "ni_measurementlink_service", "ni_measurementlink_service.measurement", "ni_measurementlink_service.measurement.info", "ni_measurementlink_service.measurement.service", "ni_measurementlink_service.session_management", "NI MeasurementLink"], "terms": {"thi": [0, 2, 9, 17, 36, 46, 48, 49, 50], "page": [0, 46, 48, 51], "contain": [0, 3, 4, 8, 9, 11, 17, 50], "auto": [0, 13, 14, 15, 18, 19, 20, 21, 24, 29, 30, 33, 34, 37, 38], "gener": [0, 13, 14, 15, 16, 18, 19, 20, 21, 22, 24, 25, 27, 29, 30, 31, 33, 34, 35, 37, 38, 39, 41], "document": [0, 42], "1": [0, 36, 46, 48, 49, 50], "ni_measurementlink_servic": [0, 51], "measur": [0, 2, 3, 4, 5, 8, 12, 13, 14, 19, 36, 43, 46, 50], "info": [0, 2, 3, 4, 9, 12, 46, 47, 49], "servic": [0, 3, 4, 12, 17, 23, 26, 28, 32, 36, 40, 42, 46, 47, 48, 50], "session_manag": [0, 46, 49], "creat": [0, 32, 36, 50], "sphinx": 0, "autoapi": 0, "grpcchannelpool": [1, 46, 49], "sourc": [1, 2, 3, 4, 9, 10, 11, 12, 17, 23, 26, 32, 36, 42, 44, 45, 46, 48, 49, 50], "base": [1, 2, 3, 4, 9, 10, 11, 17, 23, 26, 32, 36, 42, 44, 46, 48, 49, 50], "object": [1, 3, 17, 23, 26, 32, 36, 42, 50], "manag": [1, 12, 46, 49, 50], "grpc": [1, 2, 3, 4, 9, 12, 13, 14, 15, 18, 19, 20, 21, 24, 29, 30, 33, 34, 37, 38, 44, 45, 46, 48, 49, 50], "channel": [1, 17, 23, 26, 32, 36, 42, 46, 49, 50], "lifetim": 1, "__enter__": [1, 46, 49, 50], "enter": [1, 46, 49], "runtim": [1, 46, 49], "context": [1, 4, 17, 23, 26, 32, 36, 42, 46, 49, 50], "__exit__": [1, 46, 49, 50], "exc_typ": [1, 46, 49, 50], "exc_val": [1, 46, 49, 50], "traceback": [1, 46, 49, 50], "exit": [1, 46, 49], "get_channel": [1, 46, 49], "target": [1, 17, 23, 26, 32, 36, 42], "return": [1, 10, 17, 23, 26, 32, 36], "paramet": [1, 4, 5, 12, 46, 48, 49, 50], "str": [1, 2, 3, 9, 46, 48, 49, 50], "The": [1, 3, 9, 12, 17, 46, 48, 49, 50], "server": [1, 12, 17, 23, 26, 28, 32, 36, 40, 42, 44, 45], "address": [1, 3], "close": [1, 3, 12, 36, 46, 49, 50], "open": [1, 36, 42, 50], "datatypeinfo": 2, "namedtupl": [2, 3, 9, 46, 48, 50], "repres": [2, 3, 9, 46, 48, 50], "inform": [2, 3, 17, 23, 26, 36, 46, 48, 50], "each": [2, 50], "datatyp": [2, 9, 46, 48, 49], "enum": [2, 9, 46, 48, 49], "valu": [2, 3, 9, 10, 11, 46, 48, 49, 50], "grpc_field_typ": 2, "field": [2, 9, 46, 48, 50], "kind": [2, 9], "associ": [2, 42, 46, 49], "repeat": [2, 9, 10], "whether": [2, 44, 45, 50], "i": [2, 3, 4, 9, 10, 17, 23, 26, 32, 36, 42, 44, 45, 46, 48, 49, 50], "type_speci": 2, "specif": [2, 17, 42, 50], "type": [2, 9, 10, 13, 14, 17, 32, 36, 37, 46, 48, 49, 50], "when": [2, 4, 9, 17, 45, 46, 48, 49], "value_typ": 2, "can": [2, 3, 17, 23, 26, 36, 46, 49, 50], "have": [2, 36, 46, 49, 50], "more": [2, 3, 17, 46, 49], "than": [2, 3, 17, 36, 46, 49], "one": [2, 3, 17, 46, 49], "us": [2, 3, 17, 23, 26, 36, 42, 46, 48, 49, 50], "message_typ": [2, 9, 10], "full": [2, 3, 9, 46, 48, 49], "name": [2, 3, 9, 32, 36, 46, 48, 49, 50], "messag": [2, 9], "requir": [2, 9], "typemessag": [2, 9], "ignor": [2, 9], "ani": [2, 9, 11, 36, 46, 49, 50], "other": [2, 9, 17, 23, 26, 36], "googl": [2, 9], "protobuf": [2, 5, 9, 13, 14, 17, 23, 26, 28, 32, 36, 42], "type_pb2": [2, 9], "valuetyp": [2, 9], "bool": [2, 3, 9, 50], "typespeci": [2, 48], "get_type_info": 2, "data_typ": 2, "get": [2, 3, 4, 9, 10, 32, 36, 49, 50], "about": [2, 46, 48], "api": [3, 4, 23, 26, 51], "regist": [3, 4, 12, 17, 32, 36, 46, 48, 49, 50], "un": [3, 12, 46, 49], "discoveri": [3, 12, 13, 14, 19, 46, 48, 49], "serviceloc": [3, 17], "locat": [3, 17], "insecure_port": [3, 17], "ssl_authenticated_port": [3, 17], "properti": [3, 4, 49], "insecure_address": 3, "": [3, 4, 36, 46, 49], "insecur": [3, 17, 23, 26, 32, 36, 42], "format": [3, 46, 48], "host": [3, 4, 12, 46, 49], "port": [3, 12, 17], "ssl_authenticated_address": 3, "ssl": 3, "authent": 3, "discoverycli": [3, 12, 46, 49], "stub": [3, 4, 5], "none": [3, 12, 17, 23, 26, 32, 36, 42, 45, 46, 49, 50], "need": [3, 36, 50], "interact": 3, "discoveryservicestub": [3, 17], "registration_id": 3, "string": [3, 11, 32, 36, 46, 48], "id": [3, 11, 32, 36, 46, 49, 50], "from": [3, 32, 50], "upon": 3, "success": 3, "registr": 3, "register_measurement_servic": 3, "service_port": 3, "service_info": [3, 12, 46, 49], "measurement_info": [3, 4, 12, 46, 49], "number": [3, 12, 17, 32, 36, 50], "serviceinfo": [3, 12, 46, 48, 49], "display_nam": [3, 9, 17, 46, 48, 49], "displai": [3, 9, 46, 49], "boolean": [3, 46, 48], "unregister_servic": 3, "should": [3, 46, 48, 49, 50], "call": [3, 17, 36, 44, 45, 46, 49, 50], "befor": [3, 36, 50], "resolve_servic": 3, "provided_interfac": [3, 17, 46, 48, 49], "service_class": [3, 17, 46, 48, 49], "resolv": [3, 17], "given": [3, 17, 36, 46, 48, 50], "descript": [3, 17, 46, 48], "establish": [3, 17], "commun": [3, 17], "If": [3, 9, 17, 46, 49, 50], "necessari": [3, 17], "start": [3, 12, 17, 45], "ha": [3, 17, 32, 36, 45, 50], "alreadi": [3, 17, 32, 36, 50], "been": [3, 17, 36, 50], "match": [3, 9, 17, 36, 46, 49, 50], "specifi": [3, 10, 32, 36, 46, 49], "an": [3, 17, 36, 46, 48, 49], "error": [3, 17, 32, 36], "A": [3, 10, 46, 48, 49], "implement": [4, 17, 23, 26, 36], "method": [4, 12, 46, 49, 50], "measurementservicecontext": 4, "grpc_context": [4, 49], "pin_map_context": [4, 49], "accessor": [4, 46, 49], "local": [4, 46, 49], "state": [4, 42, 46, 49], "mark_complet": 4, "mark": 4, "current": [4, 36, 42, 44, 46, 48, 50], "rpc": [4, 49], "complet": [4, 17, 45], "pin": [4, 32, 36, 46, 48, 49, 50], "map": [4, 32, 36, 46, 49, 50], "add_cancel_callback": [4, 49], "cancel_callback": [4, 49], "add": [4, 46, 49], "callback": [4, 49], "invok": [4, 49], "cancel": [4, 49], "time_remain": [4, 49], "time": [4, 17, 46, 49], "remain": [4, 49], "abort": [4, 49], "code": [4, 16, 17, 22, 25, 27, 31, 32, 35, 36, 39, 41, 49, 50], "detail": [4, 49], "measurement_service_context": 4, "contextvar": 4, "measurementserviceservicerv1": 4, "configuration_parameter_list": [4, 12, 46, 49], "output_parameter_list": [4, 12, 46, 49], "measure_funct": [4, 12, 46, 49], "ni": [4, 5, 9, 13, 46, 48, 49, 50], "measurementlink": [4, 5, 13, 14, 46, 48, 49, 50], "v1": [4, 14, 15, 19, 20, 29, 33, 46, 48, 50], "measurement_service_pb2_grpc": [4, 19, 20, 21, 24], "measurementserviceservic": [4, 23, 26], "measurementinfo": [4, 12, 46, 48, 49], "list": [4, 12, 32, 36, 42, 46, 48, 49, 50], "configur": [4, 11, 12, 46, 48, 49], "output": [4, 12, 46, 49], "callabl": [4, 12, 46, 49], "function": [4, 12, 46, 49], "getmetadata": [4, 23, 26], "request": [4, 17, 23, 26, 32, 36, 42, 44, 45], "metadata": [4, 5, 8, 11, 17, 23, 26, 32, 36, 42, 48], "execut": 4, "measurementserviceservicerv2": 4, "v2": [4, 14, 19, 20], "intern": 5, "modul": [5, 8, 51], "class": [5, 28, 40], "framework": [5, 43, 47, 49], "serialization_strategi": [5, 8], "serial": [5, 8, 10, 46, 48], "session_pb2": [5, 13], "session_pb2_grpc": [5, 13], "util": 5, "discovery_cli": [5, 12, 46, 49], "grpc_servic": 5, "service_manag": 5, "t": [6, 36], "kei": [7, 46, 48], "typealia": 7, "writefunct": 7, "encod": [7, 10], "partialencoderconstructor": 7, "encoderconstructor": 7, "decod": [7, 10], "partialdecoderconstructor": 7, "newdefault": 7, "decoderconstructor": 7, "relat": [8, 46, 49, 50], "parametermetadata": [9, 11], "scalar": [9, 10], "1d": 9, "arrai": [9, 46, 48], "true": 9, "1darrai": 9, "fals": [9, 17, 23, 26, 32, 36, 42], "default_valu": [9, 46, 49], "default": [9, 10, 11, 12, 42, 46, 49], "annot": [9, 46, 48], "dict": [9, 11, 46, 48], "set": [9, 42, 46, 48], "validate_default_value_typ": 9, "parameter_metadata": 9, "valid": [9, 32, 46, 48], "except": [9, 46, 49, 50], "doe": [9, 36], "typeerror": 9, "get_enum_values_annot": 9, "exist": [9, 32, 50], "strategi": 10, "floatencod": 10, "doubleencod": 10, "intencod": 10, "uintencod": 10, "boolencod": 10, "stringencod": 10, "messageencod": 10, "floatarrayencod": 10, "doublearrayencod": 10, "intarrayencod": 10, "uintarrayencod": 10, "boolarrayencod": 10, "stringarrayencod": 10, "unsupportedmessagearrayencod": 10, "floatdecod": 10, "doubledecod": 10, "int32decod": 10, "uint32decod": 10, "int64decod": 10, "uint64decod": 10, "booldecod": 10, "stringdecod": 10, "xydatadecod": 10, "floatarraydecod": 10, "doublearraydecod": 10, "int32arraydecod": 10, "uint32arraydecod": 10, "int64arraydecod": 10, "uint64arraydecod": 10, "boolarraydecod": 10, "stringarraydecod": 10, "get_encod": 10, "appropri": 10, "partial": 10, "constructor": 10, "vector": 10, "get_decod": 10, "get_type_default": 10, "give": 10, "deserialize_paramet": 11, "parameter_metadata_dict": 11, "parameter_byt": 11, "deseri": 11, "byte": 11, "int": [11, 12, 50], "serialize_paramet": 11, "parameter_valu": 11, "same": [11, 36, 46, 49, 50], "order": [11, 46, 49, 50], "metadata_dict": 11, "sequenc": 11, "serialize_default_valu": 11, "grpcservic": 12, "option": [12, 17, 23, 26, 32, 36, 42, 46, 49, 50], "instanc": [12, 17], "client": [12, 17, 23, 26, 28, 32, 36, 40, 42, 44, 45, 46, 49, 50], "stop": 12, "after": [12, 46, 49], "cleanup": [12, 46, 49], "file": [13, 14, 15, 17, 18, 19, 20, 21, 24, 29, 30, 33, 34, 37, 38, 42, 46, 48, 49, 50], "pinmap": [13, 14, 19], "sessionmanag": [13, 14, 19, 50], "pin_map_context_pb2": [13, 14, 19], "pin_map_context_pb2_grpc": [13, 14, 19], "xydata_pb2": [14, 37, 38], "xydata_pb2_grpc": [14, 37, 38], "discovery_service_pb2": [15, 18, 19], "discovery_service_pb2_grpc": [15, 18, 19], "protocol": [16, 22, 25, 27, 31, 35, 39, 41, 50], "buffer": [16, 22, 25, 27, 31, 35, 39, 41], "descriptor": [16, 22, 25, 27, 31, 35, 39, 41], "correspond": [17, 23, 26, 28, 32, 36, 40, 42, 50], "defin": [17, 23, 26, 28, 32, 36, 40, 42, 46, 48, 49, 50], "registri": 17, "discov": 17, "activ": 17, "present": [17, 32], "system": [17, 50], "discoveryserviceservic": 17, "registerservic": 17, "statu": [17, 32, 36], "invalid_argu": [17, 32, 36], "servicedescriptor": 17, "empti": [17, 32, 36, 50], "both": 17, "ar": [17, 36, 46, 48, 50], "either": 17, "invalid": 17, "unregisterservic": 17, "unregist": [17, 36, 50], "enumerateservic": 17, "enumer": [17, 46, 48], "all": [17, 36, 50], "which": [17, 49, 50], "interfac": [17, 46, 48], "plugin": [17, 23, 26], "where": [17, 23, 26], "possibl": 17, "known": [17, 46, 48], "ahead": 17, "resolveservic": 17, "accomplish": 17, "through": 17, "serviceconfig": 17, "includ": [17, 50], "describ": [17, 23, 26], "must": [17, 46, 49], "never": 17, "successfulli": 17, "attempt": 17, "not_found": [17, 32, 36], "No": 17, "wa": 17, "found": [17, 32, 46, 49], "failed_precondit": 17, "add_discoveryserviceservicer_to_serv": 17, "discoveryservic": 17, "static": [17, 23, 26, 32, 36, 42], "channel_credenti": [17, 23, 26, 32, 36, 42], "call_credenti": [17, 23, 26, 32, 36, 42], "compress": [17, 23, 26, 32, 36, 42], "wait_for_readi": [17, 23, 26, 32, 36, 42], "timeout": [17, 23, 26, 32, 36, 42, 50], "measurement_service_pb2": [19, 20, 21, 24], "pin_map_service_pb2": [19, 29, 30], "pin_map_service_pb2_grpc": [19, 29, 30], "session_management_service_pb2": [19, 33, 34], "session_management_service_pb2_grpc": [19, 33, 34], "measurementservicestub": [23, 26], "unlik": [23, 26], "measurementservic": [23, 26, 46, 48, 49], "design": [23, 26], "multipl": [23, 26, 46, 49, 50], "provid": [23, 26, 42, 45, 46, 48], "differ": [23, 26], "capabl": [23, 26], "perform": [23, 26], "add_measurementserviceservicer_to_serv": [23, 26], "pinmapservicestub": 32, "keep": [32, 36], "track": [32, 36, 50], "resourc": [32, 42, 50], "pinmapserviceservic": 32, "createpinmapfromxml": 32, "pinmapservic": 32, "whitespac": 32, "xml": 32, "already_exist": [32, 36], "updatepinmapfromxml": 32, "updat": 32, "getpinmap": 32, "querypin": 32, "queryrelai": 32, "relai": [32, 36, 50], "queryresourceaccessinform": 32, "instrument": [32, 36, 46, 49, 50], "site": [32, 36, 50], "group": [32, 36, 50], "rang": 32, "add_pinmapserviceservicer_to_serv": 32, "sessionmanagementservicestub": 36, "session": [36, 42, 50], "allow": [36, 50], "access": [36, 46, 49, 50], "sessionmanagementserviceservic": 36, "reservesess": 36, "reserv": [36, 42, 50], "Will": 36, "ab": 36, "2046548": 36, "also": [36, 46, 49], "so": 36, "process": 36, "cannot": [36, 50], "refer": [36, 51], "less": 36, "unavail": 36, "were": 36, "didn": 36, "becom": 36, "avail": [36, 46, 49], "expir": 36, "unreservesess": 36, "unreserv": [36, 42, 50], "thei": [36, 50], "resource_exhaust": 36, "occur": 36, "while": 36, "registersess": 36, "indic": [36, 44, 50], "later": [36, 50], "unregistersess": 36, "reopen": [36, 50], "again": [36, 50], "reserveallregisteredsess": 36, "add_sessionmanagementserviceservicer_to_serv": 36, "sessionmanagementservic": [36, 50], "sessionutilitiesstub": 42, "miss": 42, "comment": 42, "proto": [42, 46, 48], "sessionutilitiesservic": 42, "enumeratedevic": 42, "devic": [42, 50], "chassi": 42, "connect": [42, 50], "under": 42, "localhost": 42, "exclus": 42, "isreservedbycli": 42, "determin": 42, "previous": 42, "resetserv": 42, "reset": 42, "add_sessionutilitiesservicer_to_serv": 42, "sessionutil": 42, "clientlogg": 44, "unaryunaryclientinterceptor": 44, "unarystreamclientinterceptor": 44, "streamunaryclientinterceptor": 44, "streamstreamclientinterceptor": 44, "intercept": 44, "log": [44, 45], "them": 44, "debug": 44, "classmethod": 44, "is_en": [44, 45], "enabl": [44, 45], "level": 44, "intercept_unary_unari": 44, "continu": 44, "client_call_detail": 44, "unari": 44, "intercept_unary_stream": 44, "stream": [44, 45], "intercept_stream_unari": 44, "request_iter": 44, "intercept_stream_stream": 44, "bidirect": 44, "serverlogg": 44, "serverinterceptor": 44, "intercept_servic": 44, "handler_call_detail": 44, "queri": 45, "event": 45, "log_grpc_client_call_start": 45, "method_nam": 45, "log_grpc_client_call_stop": 45, "activity_id": 45, "log_grpc_client_call_streaming_request": 45, "send": 45, "log_grpc_client_call_streaming_respons": 45, "receiv": 45, "respons": 45, "log_grpc_server_call_start": 45, "log_grpc_server_call_stop": 45, "log_grpc_server_call_streaming_request": 45, "log_grpc_server_call_streaming_respons": 45, "support": [46, 48, 49], "python": [46, 49], "data": [46, 48, 49], "int32": [46, 48], "0": [46, 48, 50], "int64": [46, 48], "uint32": [46, 48], "2": [46, 48, 49], "uint64": [46, 48], "3": [46, 48], "float": [46, 48, 50], "4": [46, 48], "doubl": [46, 48], "5": [46, 48], "6": [46, 48], "7": [46, 48], "8": [46, 48], "path": [46, 48], "9": [46, 48], "10": [46, 48], "doublexydata": [46, 48], "11": [46, 48], "int32array1d": [46, 48], "100": [46, 48], "int64array1d": [46, 48], "101": [46, 48], "uint32array1d": [46, 48], "102": [46, 48], "uint64array1d": [46, 48], "103": [46, 48], "floatarray1d": [46, 48], "104": [46, 48], "doublearray1d": [46, 48], "105": [46, 48], "booleanarray1d": [46, 48], "106": [46, 48], "stringarray1d": [46, 48], "107": [46, 48], "pinarray1d": [46, 48], "108": [46, 48], "patharray1d": [46, 48], "109": [46, 48], "enumarray1d": [46, 48, 49], "110": [46, 48], "tupl": [46, 48, 49], "user": [46, 48, 49, 50], "visibl": [46, 48], "version": [46, 48, 49], "ui_file_path": [46, 48, 49], "pathlib": [46, 48], "absolut": [46, 48], "e": [46, 48], "g": [46, 48], "measui": [46, 48], "vi": [46, 48], "uniqu": [46, 48], "In": [46, 48], "effect": [46, 48], "declar": [46, 48, 49], "concret": [46, 48], "description_url": [46, 48], "url": [46, 48], "web": [46, 48], "These": [46, 48, 49], "well": [46, 48, 50], "expect": [46, 48], "exampl": [46, 48, 49], "inrush": [46, 48], "short": [46, 48], "load": [46, 48], "result": [46, 48], "against": [46, 48], "limit": [46, 48], "collect": [46, 48], "delimit": [46, 48], "namespac": [46, 48], "hierarchi": [46, 48], "case": [46, 48], "insensit": [46, 48], "currenttest": [46, 48], "tag": [46, 48], "json": [46, 48], "powerup": [46, 48], "service_config_path": [46, 49], "measurementcontext": [46, 49], "channel_pool": [46, 49], "pool": [46, 49], "register_measur": [46, 49], "measurement_funct": [46, 49], "To": [46, 49], "idiom": [46, 49], "measurement_servic": [46, 49], "def": [46, 49], "configuration1": [46, 49], "configuration2": [46, 49], "output1": [46, 49], "output2": [46, 49], "see": [46, 49], "instrument_typ": [46, 49], "enum_typ": [46, 49], "decor": [46, 49], "posit": [46, 49, 50], "filter": [46, 49], "onli": [46, 49], "built": [46, 49, 50], "definit": [46, 49, 50], "driver": [46, 49, 50], "constant": [46, 49, 50], "nim": [46, 49], "For": [46, 49, 50], "dcpower": [46, 49], "instrument_type_ni_dcpow": [46, 49, 50], "custom": [46, 49, 50], "supportedenumtyp": [46, 49], "take": [46, 49], "element": [46, 49], "host_servic": [46, 49], "statement": [46, 49, 50], "close_servic": [46, 49], "packag": [47, 51], "special": 48, "notyp": 48, "proxi": 49, "grpc_service_interface_nam": 50, "grpc_service_class": 50, "instrument_type_non": 50, "nidcpow": 50, "instrument_type_ni_hsdio": 50, "nihsdio": 50, "instrument_type_ni_rfsa": 50, "nirfsa": 50, "instrument_type_ni_rfmx": 50, "nirfmx": 50, "instrument_type_ni_rfsg": 50, "nirfsg": 50, "instrument_type_ni_rfpm": 50, "nirfpm": 50, "instrument_type_ni_dmm": 50, "nidmm": 50, "instrument_type_ni_digital_pattern": 50, "nidigitalpattern": 50, "instrument_type_ni_scop": 50, "niscop": 50, "instrument_type_ni_fgen": 50, "nifgen": 50, "instrument_type_ni_daqmx": 50, "nidaqmx": 50, "instrument_type_ni_relay_driv": 50, "nirelaydriv": 50, "instrument_type_ni_model_based_instru": 50, "nimodelbasedinstru": 50, "instrument_type_ni_switch_executive_virtual_devic": 50, "niswitchexecutivevirtualdevic": 50, "pinmapcontext": 50, "pin_map_id": 50, "being": 50, "channelmap": 50, "pin_or_relay_nam": 50, "do": 50, "belong": 50, "sessioninform": 50, "session_nam": 50, "identifi": 50, "resource_nam": 50, "channel_list": 50, "initi": 50, "reserve_all_registered_sess": 50, "instrument_type_id": 50, "session_exist": 50, "channel_map": 50, "iter": 50, "item": 50, "basereserv": 50, "session_info": 50, "abc": 50, "self": 50, "singlesessionreserv": 50, "singl": 50, "multisessionreserv": 50, "__getattr__": 50, "sessionmanagementcli": 50, "grpc_channel": 50, "reserve_sess": 50, "unspecifi": 50, "follow": 50, "second": 50, "non": 50, "block": 50, "fail": 50, "immedi": 50, "neg": 50, "infinit": 50, "numer": 50, "wait": 50, "register_sess": 50, "unregister_sess": 50, "alia": 50, "compat": 50, "subpackag": 51, "submodul": 51, "content": 51, "index": 51, "search": 51}, "objects": {"": [[46, 0, 0, "-", "ni_measurementlink_service"]], "ni_measurementlink_service": [[46, 1, 1, "", "DataType"], [46, 1, 1, "", "MeasurementInfo"], [46, 1, 1, "", "MeasurementService"], [46, 1, 1, "", "ServiceInfo"], [1, 0, 0, "-", "_channelpool"], [2, 0, 0, "-", "_datatypeinfo"], [5, 0, 0, "-", "_internal"], [44, 0, 0, "-", "_loggers"], [45, 0, 0, "-", "_tracelogging"], [47, 0, 0, "-", "measurement"], [50, 0, 0, "-", "session_management"]], "ni_measurementlink_service.DataType": [[46, 2, 1, "", "Boolean"], [46, 2, 1, "", "BooleanArray1D"], [46, 2, 1, "", "Double"], [46, 2, 1, "", "DoubleArray1D"], [46, 2, 1, "", "DoubleXYData"], [46, 2, 1, "", "Enum"], [46, 2, 1, "", "EnumArray1D"], [46, 2, 1, "", "Float"], [46, 2, 1, "", "FloatArray1D"], [46, 2, 1, "", "Int32"], [46, 2, 1, "", "Int32Array1D"], [46, 2, 1, "", "Int64"], [46, 2, 1, "", "Int64Array1D"], [46, 2, 1, "", "Path"], [46, 2, 1, "", "PathArray1D"], [46, 2, 1, "", "Pin"], [46, 2, 1, "", "PinArray1D"], [46, 2, 1, "", "String"], [46, 2, 1, "", "StringArray1D"], [46, 2, 1, "", "UInt32"], [46, 2, 1, "", "UInt32Array1D"], [46, 2, 1, "", "UInt64"], [46, 2, 1, "", "UInt64Array1D"]], "ni_measurementlink_service.MeasurementInfo": [[46, 2, 1, "", "display_name"], [46, 2, 1, "", "ui_file_paths"], [46, 2, 1, "", "version"]], "ni_measurementlink_service.MeasurementService": [[46, 3, 1, "", "__enter__"], [46, 3, 1, "", "__exit__"], [46, 3, 1, "", "close_service"], [46, 3, 1, "", "configuration"], [46, 3, 1, "", "get_channel"], [46, 3, 1, "", "host_service"], [46, 3, 1, "", "output"], [46, 3, 1, "", "register_measurement"]], "ni_measurementlink_service.ServiceInfo": [[46, 2, 1, "", "annotations"], [46, 2, 1, "", "description_url"], [46, 2, 1, "", "provided_interfaces"], [46, 2, 1, "", "service_class"]], "ni_measurementlink_service._channelpool": [[1, 1, 1, "", "GrpcChannelPool"]], "ni_measurementlink_service._channelpool.GrpcChannelPool": [[1, 3, 1, "", "__enter__"], [1, 3, 1, "", "__exit__"], [1, 3, 1, "", "close"], [1, 3, 1, "", "get_channel"]], "ni_measurementlink_service._datatypeinfo": [[2, 1, 1, "", "DataTypeInfo"], [2, 4, 1, "", "get_type_info"]], "ni_measurementlink_service._datatypeinfo.DataTypeInfo": [[2, 2, 1, "", "grpc_field_type"], [2, 2, 1, "", "message_type"], [2, 2, 1, "", "repeated"], [2, 2, 1, "", "type_specialization"]], "ni_measurementlink_service._internal": [[3, 0, 0, "-", "discovery_client"], [4, 0, 0, "-", "grpc_servicer"], [8, 0, 0, "-", "parameter"], [12, 0, 0, "-", "service_manager"], [13, 0, 0, "-", "stubs"], [43, 0, 0, "-", "utilities"]], "ni_measurementlink_service._internal.discovery_client": [[3, 1, 1, "", "DiscoveryClient"], [3, 1, 1, "", "ServiceLocation"]], "ni_measurementlink_service._internal.discovery_client.DiscoveryClient": [[3, 3, 1, "", "register_measurement_service"], [3, 3, 1, "", "resolve_service"], [3, 3, 1, "", "stub"], [3, 3, 1, "", "unregister_service"]], "ni_measurementlink_service._internal.discovery_client.ServiceLocation": [[3, 3, 1, "", "insecure_address"], [3, 2, 1, "", "insecure_port"], [3, 2, 1, "", "location"], [3, 3, 1, "", "ssl_authenticated_address"], [3, 2, 1, "", "ssl_authenticated_port"]], "ni_measurementlink_service._internal.grpc_servicer": [[4, 1, 1, "", "MeasurementServiceContext"], [4, 1, 1, "", "MeasurementServiceServicerV1"], [4, 1, 1, "", "MeasurementServiceServicerV2"], [4, 5, 1, "", "measurement_service_context"]], "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext": [[4, 3, 1, "", "abort"], [4, 3, 1, "", "add_cancel_callback"], [4, 3, 1, "", "cancel"], [4, 3, 1, "", "grpc_context"], [4, 3, 1, "", "mark_complete"], [4, 3, 1, "", "pin_map_context"], [4, 3, 1, "", "time_remaining"]], "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV1": [[4, 3, 1, "", "GetMetadata"], [4, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV2": [[4, 3, 1, "", "GetMetadata"], [4, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.parameter": [[6, 0, 0, "-", "_message"], [7, 0, 0, "-", "_serializer_types"], [9, 0, 0, "-", "metadata"], [10, 0, 0, "-", "serialization_strategy"], [11, 0, 0, "-", "serializer"]], "ni_measurementlink_service._internal.parameter._message": [[6, 5, 1, "", "T"]], "ni_measurementlink_service._internal.parameter._serializer_types": [[7, 5, 1, "", "Decoder"], [7, 5, 1, "", "DecoderConstructor"], [7, 5, 1, "", "Encoder"], [7, 5, 1, "", "EncoderConstructor"], [7, 5, 1, "", "Key"], [7, 5, 1, "", "NewDefault"], [7, 5, 1, "", "PartialDecoderConstructor"], [7, 5, 1, "", "PartialEncoderConstructor"], [7, 5, 1, "", "WriteFunction"]], "ni_measurementlink_service._internal.parameter.metadata": [[9, 1, 1, "", "ParameterMetadata"], [9, 4, 1, "", "get_enum_values_annotation"], [9, 4, 1, "", "validate_default_value_type"]], "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata": [[9, 2, 1, "", "annotations"], [9, 2, 1, "", "default_value"], [9, 2, 1, "", "display_name"], [9, 2, 1, "", "message_type"], [9, 2, 1, "", "repeated"], [9, 2, 1, "", "type"]], "ni_measurementlink_service._internal.parameter.serialization_strategy": [[10, 5, 1, "", "BoolArrayDecoder"], [10, 5, 1, "", "BoolArrayEncoder"], [10, 5, 1, "", "BoolDecoder"], [10, 5, 1, "", "BoolEncoder"], [10, 5, 1, "", "DoubleArrayDecoder"], [10, 5, 1, "", "DoubleArrayEncoder"], [10, 5, 1, "", "DoubleDecoder"], [10, 5, 1, "", "DoubleEncoder"], [10, 5, 1, "", "FloatArrayDecoder"], [10, 5, 1, "", "FloatArrayEncoder"], [10, 5, 1, "", "FloatDecoder"], [10, 5, 1, "", "FloatEncoder"], [10, 5, 1, "", "Int32ArrayDecoder"], [10, 5, 1, "", "Int32Decoder"], [10, 5, 1, "", "Int64ArrayDecoder"], [10, 5, 1, "", "Int64Decoder"], [10, 5, 1, "", "IntArrayEncoder"], [10, 5, 1, "", "IntEncoder"], [10, 5, 1, "", "MessageEncoder"], [10, 5, 1, "", "StringArrayDecoder"], [10, 5, 1, "", "StringArrayEncoder"], [10, 5, 1, "", "StringDecoder"], [10, 5, 1, "", "StringEncoder"], [10, 5, 1, "", "UInt32ArrayDecoder"], [10, 5, 1, "", "UInt32Decoder"], [10, 5, 1, "", "UInt64ArrayDecoder"], [10, 5, 1, "", "UInt64Decoder"], [10, 5, 1, "", "UIntArrayEncoder"], [10, 5, 1, "", "UIntEncoder"], [10, 5, 1, "", "UnsupportedMessageArrayEncoder"], [10, 5, 1, "", "XYDataDecoder"], [10, 4, 1, "", "get_decoder"], [10, 4, 1, "", "get_encoder"], [10, 4, 1, "", "get_type_default"]], "ni_measurementlink_service._internal.parameter.serializer": [[11, 4, 1, "", "deserialize_parameters"], [11, 4, 1, "", "serialize_default_values"], [11, 4, 1, "", "serialize_parameters"]], "ni_measurementlink_service._internal.service_manager": [[12, 1, 1, "", "GrpcService"]], "ni_measurementlink_service._internal.service_manager.GrpcService": [[12, 3, 1, "", "start"], [12, 3, 1, "", "stop"]], "ni_measurementlink_service._internal.stubs": [[14, 0, 0, "-", "ni"], [41, 0, 0, "-", "session_pb2"], [42, 0, 0, "-", "session_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni": [[19, 0, 0, "-", "measurementlink"], [37, 0, 0, "-", "protobuf"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink": [[15, 0, 0, "-", "discovery"], [20, 0, 0, "-", "measurement"], [27, 0, 0, "-", "pin_map_context_pb2"], [28, 0, 0, "-", "pin_map_context_pb2_grpc"], [29, 0, 0, "-", "pinmap"], [33, 0, 0, "-", "sessionmanagement"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery": [[18, 0, 0, "-", "v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1": [[16, 0, 0, "-", "discovery_service_pb2"], [17, 0, 0, "-", "discovery_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2": [[16, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc": [[17, 1, 1, "", "DiscoveryService"], [17, 1, 1, "", "DiscoveryServiceServicer"], [17, 1, 1, "", "DiscoveryServiceStub"], [17, 4, 1, "", "add_DiscoveryServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService": [[17, 3, 1, "", "EnumerateServices"], [17, 3, 1, "", "RegisterService"], [17, 3, 1, "", "ResolveService"], [17, 3, 1, "", "UnregisterService"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer": [[17, 3, 1, "", "EnumerateServices"], [17, 3, 1, "", "RegisterService"], [17, 3, 1, "", "ResolveService"], [17, 3, 1, "", "UnregisterService"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement": [[21, 0, 0, "-", "v1"], [24, 0, 0, "-", "v2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1": [[22, 0, 0, "-", "measurement_service_pb2"], [23, 0, 0, "-", "measurement_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2": [[22, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc": [[23, 1, 1, "", "MeasurementService"], [23, 1, 1, "", "MeasurementServiceServicer"], [23, 1, 1, "", "MeasurementServiceStub"], [23, 4, 1, "", "add_MeasurementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementService": [[23, 3, 1, "", "GetMetadata"], [23, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementServiceServicer": [[23, 3, 1, "", "GetMetadata"], [23, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2": [[25, 0, 0, "-", "measurement_service_pb2"], [26, 0, 0, "-", "measurement_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2": [[25, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc": [[26, 1, 1, "", "MeasurementService"], [26, 1, 1, "", "MeasurementServiceServicer"], [26, 1, 1, "", "MeasurementServiceStub"], [26, 4, 1, "", "add_MeasurementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementService": [[26, 3, 1, "", "GetMetadata"], [26, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementServiceServicer": [[26, 3, 1, "", "GetMetadata"], [26, 3, 1, "", "Measure"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2": [[27, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap": [[30, 0, 0, "-", "v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1": [[31, 0, 0, "-", "pin_map_service_pb2"], [32, 0, 0, "-", "pin_map_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2": [[31, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc": [[32, 1, 1, "", "PinMapService"], [32, 1, 1, "", "PinMapServiceServicer"], [32, 1, 1, "", "PinMapServiceStub"], [32, 4, 1, "", "add_PinMapServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService": [[32, 3, 1, "", "CreatePinMapFromXml"], [32, 3, 1, "", "GetPinMap"], [32, 3, 1, "", "QueryPins"], [32, 3, 1, "", "QueryRelays"], [32, 3, 1, "", "QueryResourceAccessInformation"], [32, 3, 1, "", "UpdatePinMapFromXml"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer": [[32, 3, 1, "", "CreatePinMapFromXml"], [32, 3, 1, "", "GetPinMap"], [32, 3, 1, "", "QueryPins"], [32, 3, 1, "", "QueryRelays"], [32, 3, 1, "", "QueryResourceAccessInformation"], [32, 3, 1, "", "UpdatePinMapFromXml"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement": [[34, 0, 0, "-", "v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1": [[35, 0, 0, "-", "session_management_service_pb2"], [36, 0, 0, "-", "session_management_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2": [[35, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc": [[36, 1, 1, "", "SessionManagementService"], [36, 1, 1, "", "SessionManagementServiceServicer"], [36, 1, 1, "", "SessionManagementServiceStub"], [36, 4, 1, "", "add_SessionManagementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService": [[36, 3, 1, "", "RegisterSessions"], [36, 3, 1, "", "ReserveAllRegisteredSessions"], [36, 3, 1, "", "ReserveSessions"], [36, 3, 1, "", "UnregisterSessions"], [36, 3, 1, "", "UnreserveSessions"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer": [[36, 3, 1, "", "RegisterSessions"], [36, 3, 1, "", "ReserveAllRegisteredSessions"], [36, 3, 1, "", "ReserveSessions"], [36, 3, 1, "", "UnregisterSessions"], [36, 3, 1, "", "UnreserveSessions"]], "ni_measurementlink_service._internal.stubs.ni.protobuf": [[38, 0, 0, "-", "types"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types": [[39, 0, 0, "-", "xydata_pb2"], [40, 0, 0, "-", "xydata_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2": [[39, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.session_pb2": [[41, 5, 1, "", "DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.session_pb2_grpc": [[42, 1, 1, "", "SessionUtilities"], [42, 1, 1, "", "SessionUtilitiesServicer"], [42, 1, 1, "", "SessionUtilitiesStub"], [42, 4, 1, "", "add_SessionUtilitiesServicer_to_server"]], "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities": [[42, 3, 1, "", "EnumerateDevices"], [42, 3, 1, "", "IsReservedByClient"], [42, 3, 1, "", "Reserve"], [42, 3, 1, "", "ResetServer"], [42, 3, 1, "", "Unreserve"]], "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer": [[42, 3, 1, "", "EnumerateDevices"], [42, 3, 1, "", "IsReservedByClient"], [42, 3, 1, "", "Reserve"], [42, 3, 1, "", "ResetServer"], [42, 3, 1, "", "Unreserve"]], "ni_measurementlink_service._loggers": [[44, 1, 1, "", "ClientLogger"], [44, 1, 1, "", "ServerLogger"]], "ni_measurementlink_service._loggers.ClientLogger": [[44, 3, 1, "", "intercept_stream_stream"], [44, 3, 1, "", "intercept_stream_unary"], [44, 3, 1, "", "intercept_unary_stream"], [44, 3, 1, "", "intercept_unary_unary"], [44, 3, 1, "", "is_enabled"]], "ni_measurementlink_service._loggers.ServerLogger": [[44, 3, 1, "", "intercept_service"], [44, 3, 1, "", "is_enabled"]], "ni_measurementlink_service._tracelogging": [[45, 4, 1, "", "is_enabled"], [45, 4, 1, "", "log_grpc_client_call_start"], [45, 4, 1, "", "log_grpc_client_call_stop"], [45, 4, 1, "", "log_grpc_client_call_streaming_request"], [45, 4, 1, "", "log_grpc_client_call_streaming_response"], [45, 4, 1, "", "log_grpc_server_call_start"], [45, 4, 1, "", "log_grpc_server_call_stop"], [45, 4, 1, "", "log_grpc_server_call_streaming_request"], [45, 4, 1, "", "log_grpc_server_call_streaming_response"]], "ni_measurementlink_service.measurement": [[48, 0, 0, "-", "info"], [49, 0, 0, "-", "service"]], "ni_measurementlink_service.measurement.info": [[48, 1, 1, "", "DataType"], [48, 1, 1, "", "MeasurementInfo"], [48, 1, 1, "", "ServiceInfo"], [48, 1, 1, "", "TypeSpecialization"]], "ni_measurementlink_service.measurement.info.DataType": [[48, 2, 1, "", "Boolean"], [48, 2, 1, "", "BooleanArray1D"], [48, 2, 1, "", "Double"], [48, 2, 1, "", "DoubleArray1D"], [48, 2, 1, "", "DoubleXYData"], [48, 2, 1, "", "Enum"], [48, 2, 1, "", "EnumArray1D"], [48, 2, 1, "", "Float"], [48, 2, 1, "", "FloatArray1D"], [48, 2, 1, "", "Int32"], [48, 2, 1, "", "Int32Array1D"], [48, 2, 1, "", "Int64"], [48, 2, 1, "", "Int64Array1D"], [48, 2, 1, "", "Path"], [48, 2, 1, "", "PathArray1D"], [48, 2, 1, "", "Pin"], [48, 2, 1, "", "PinArray1D"], [48, 2, 1, "", "String"], [48, 2, 1, "", "StringArray1D"], [48, 2, 1, "", "UInt32"], [48, 2, 1, "", "UInt32Array1D"], [48, 2, 1, "", "UInt64"], [48, 2, 1, "", "UInt64Array1D"]], "ni_measurementlink_service.measurement.info.MeasurementInfo": [[48, 2, 1, "", "display_name"], [48, 2, 1, "", "ui_file_paths"], [48, 2, 1, "", "version"]], "ni_measurementlink_service.measurement.info.ServiceInfo": [[48, 2, 1, "", "annotations"], [48, 2, 1, "", "description_url"], [48, 2, 1, "", "provided_interfaces"], [48, 2, 1, "", "service_class"]], "ni_measurementlink_service.measurement.info.TypeSpecialization": [[48, 2, 1, "", "Enum"], [48, 2, 1, "", "NoType"], [48, 2, 1, "", "Path"], [48, 2, 1, "", "Pin"]], "ni_measurementlink_service.measurement.service": [[49, 1, 1, "", "MeasurementContext"], [49, 1, 1, "", "MeasurementService"], [49, 5, 1, "", "SupportedEnumType"]], "ni_measurementlink_service.measurement.service.MeasurementContext": [[49, 3, 1, "", "abort"], [49, 3, 1, "", "add_cancel_callback"], [49, 3, 1, "", "cancel"], [49, 3, 1, "", "grpc_context"], [49, 3, 1, "", "pin_map_context"], [49, 3, 1, "", "time_remaining"]], "ni_measurementlink_service.measurement.service.MeasurementService": [[49, 3, 1, "", "__enter__"], [49, 3, 1, "", "__exit__"], [49, 3, 1, "", "close_service"], [49, 3, 1, "", "configuration"], [49, 3, 1, "", "get_channel"], [49, 3, 1, "", "host_service"], [49, 3, 1, "", "output"], [49, 3, 1, "", "register_measurement"]], "ni_measurementlink_service.session_management": [[50, 1, 1, "", "BaseReservation"], [50, 1, 1, "", "ChannelMapping"], [50, 5, 1, "", "Client"], [50, 5, 1, "", "GRPC_SERVICE_CLASS"], [50, 5, 1, "", "GRPC_SERVICE_INTERFACE_NAME"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_DAQMX"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_DCPOWER"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_DIGITAL_PATTERN"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_DMM"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_FGEN"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_HSDIO"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_MODEL_BASED_INSTRUMENT"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_RELAY_DRIVER"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_RFMX"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_RFPM"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_RFSA"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_RFSG"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_SCOPE"], [50, 5, 1, "", "INSTRUMENT_TYPE_NI_SWITCH_EXECUTIVE_VIRTUAL_DEVICE"], [50, 5, 1, "", "INSTRUMENT_TYPE_NONE"], [50, 1, 1, "", "MultiSessionReservation"], [50, 1, 1, "", "PinMapContext"], [50, 1, 1, "", "SessionInformation"], [50, 1, 1, "", "SessionManagementClient"], [50, 1, 1, "", "SingleSessionReservation"], [50, 4, 1, "", "__getattr__"]], "ni_measurementlink_service.session_management.BaseReservation": [[50, 3, 1, "", "__enter__"], [50, 3, 1, "", "__exit__"], [50, 3, 1, "", "unreserve"]], "ni_measurementlink_service.session_management.ChannelMapping": [[50, 2, 1, "", "channel"], [50, 2, 1, "", "pin_or_relay_name"], [50, 2, 1, "", "site"]], "ni_measurementlink_service.session_management.MultiSessionReservation": [[50, 3, 1, "", "session_info"]], "ni_measurementlink_service.session_management.PinMapContext": [[50, 2, 1, "", "pin_map_id"], [50, 2, 1, "", "sites"]], "ni_measurementlink_service.session_management.SessionInformation": [[50, 2, 1, "", "channel_list"], [50, 2, 1, "", "channel_mappings"], [50, 2, 1, "", "instrument_type_id"], [50, 2, 1, "", "resource_name"], [50, 2, 1, "", "session_exists"], [50, 2, 1, "", "session_name"]], "ni_measurementlink_service.session_management.SessionManagementClient": [[50, 3, 1, "", "register_sessions"], [50, 3, 1, "", "reserve_all_registered_sessions"], [50, 3, 1, "", "reserve_session"], [50, 3, 1, "", "reserve_sessions"], [50, 3, 1, "", "unregister_sessions"]], "ni_measurementlink_service.session_management.SingleSessionReservation": [[50, 3, 1, "", "session_info"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:function", "5": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"api": 0, "refer": 0, "ni_measurementlink_servic": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50], "_channelpool": 1, "modul": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 16, 17, 22, 23, 25, 26, 27, 31, 32, 35, 36, 39, 41, 42, 44, 45, 48, 49, 50], "content": [1, 2, 3, 4, 6, 7, 9, 10, 11, 12, 16, 17, 22, 23, 25, 26, 27, 31, 32, 35, 36, 39, 41, 42, 44, 45, 46, 48, 49, 50], "class": [1, 2, 3, 4, 9, 12, 17, 23, 26, 32, 36, 42, 44, 46, 48, 49, 50], "_datatypeinfo": 2, "function": [2, 9, 10, 11, 17, 23, 26, 32, 36, 42, 45, 50], "attribut": [2, 3, 4, 9, 10, 12, 46, 49, 50], "_intern": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43], "discovery_cli": 3, "arg": [3, 9, 11, 12, 46, 49, 50], "return": [3, 9, 11, 12, 46, 49, 50], "grpc_servic": 4, "subpackag": [5, 13, 14, 15, 19, 20, 29, 33, 37, 46], "submodul": [5, 8, 13, 18, 19, 21, 24, 30, 34, 38, 46, 47], "paramet": [6, 7, 8, 9, 10, 11], "_messag": 6, "_serializer_typ": 7, "metadata": 9, "rais": [9, 46, 49, 50], "serialization_strategi": 10, "serial": 11, "service_manag": 12, "stub": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], "ni": [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 51], "measurementlink": [15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 51], "discoveri": [15, 16, 17, 18], "v1": [16, 17, 18, 21, 22, 23, 30, 31, 32, 34, 35, 36], "discovery_service_pb2": 16, "discovery_service_pb2_grpc": 17, "measur": [20, 21, 22, 23, 24, 25, 26, 47, 48, 49], "measurement_service_pb2": [22, 25], "measurement_service_pb2_grpc": [23, 26], "v2": [24, 25, 26], "pin_map_context_pb2": 27, "pin_map_context_pb2_grpc": 28, "pinmap": [29, 30, 31, 32], "pin_map_service_pb2": 31, "pin_map_service_pb2_grpc": 32, "sessionmanag": [33, 34, 35, 36], "session_management_service_pb2": 35, "session_management_service_pb2_grpc": 36, "protobuf": [37, 38, 39, 40], "type": [38, 39, 40], "xydata_pb2": 39, "xydata_pb2_grpc": 40, "session_pb2": 41, "session_pb2_grpc": 42, "util": 43, "_logger": 44, "_tracelog": 45, "packag": 46, "info": 48, "servic": 49, "session_manag": 50, "indic": 51, "tabl": 51}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"API Reference": [[0, "api-reference"]], "ni_measurementlink_service._channelpool": [[1, "module-ni_measurementlink_service._channelpool"]], "Module Contents": [[1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [4, "module-contents"], [6, "module-contents"], [7, "module-contents"], [9, "module-contents"], [10, "module-contents"], [11, "module-contents"], [12, "module-contents"], [16, "module-contents"], [17, "module-contents"], [22, "module-contents"], [23, "module-contents"], [25, "module-contents"], [26, "module-contents"], [27, "module-contents"], [31, "module-contents"], [32, "module-contents"], [35, "module-contents"], [36, "module-contents"], [39, "module-contents"], [41, "module-contents"], [42, "module-contents"], [44, "module-contents"], [45, "module-contents"], [48, "module-contents"], [49, "module-contents"], [50, "module-contents"]], "Classes": [[1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [9, "classes"], [12, "classes"], [17, "classes"], [23, "classes"], [26, "classes"], [32, "classes"], [36, "classes"], [42, "classes"], [44, "classes"], [46, "classes"], [48, "classes"], [49, "classes"], [50, "classes"]], "ni_measurementlink_service._datatypeinfo": [[2, "module-ni_measurementlink_service._datatypeinfo"]], "Functions": [[2, "functions"], [9, "functions"], [10, "functions"], [11, "functions"], [17, "functions"], [23, "functions"], [26, "functions"], [32, "functions"], [36, "functions"], [42, "functions"], [45, "functions"], [50, "functions"]], "Attributes": [[2, "attributes"], [3, "attributes"], [4, "attributes"], [4, "id1"], [4, "id2"], [9, "attributes"], [10, "attributes"], [12, "attributes"], [46, "attributes"], [49, "attributes"], [49, "id1"], [50, "attributes"], [50, "id1"], [50, "id2"], [50, "id3"]], "ni_measurementlink_service._internal.discovery_client": [[3, "module-ni_measurementlink_service._internal.discovery_client"]], "Args:": [[3, "args"], [3, "id2"], [12, "args"], [50, "id6"]], "Returns": [[3, "returns"], [3, "id1"], [3, "id3"], [9, "returns"], [11, "returns"], [11, "id2"], [11, "id4"], [12, "returns"], [46, "returns"], [46, "id8"], [46, "id9"], [46, "id11"], [49, "returns"], [49, "id9"], [49, "id10"], [49, "id12"], [50, "returns"], [50, "id5"], [50, "id8"]], "ni_measurementlink_service._internal.grpc_servicer": [[4, "module-ni_measurementlink_service._internal.grpc_servicer"]], "ni_measurementlink_service._internal": [[5, "module-ni_measurementlink_service._internal"]], "Subpackages": [[5, "subpackages"], [13, "subpackages"], [14, "subpackages"], [15, "subpackages"], [19, "subpackages"], [20, "subpackages"], [29, "subpackages"], [33, "subpackages"], [37, "subpackages"], [46, "subpackages"]], "Submodules": [[5, "submodules"], [8, "submodules"], [13, "submodules"], [18, "submodules"], [19, "submodules"], [21, "submodules"], [24, "submodules"], [30, "submodules"], [34, "submodules"], [38, "submodules"], [46, "submodules"], [47, "submodules"]], "ni_measurementlink_service._internal.parameter._message": [[6, "module-ni_measurementlink_service._internal.parameter._message"]], "ni_measurementlink_service._internal.parameter._serializer_types": [[7, "module-ni_measurementlink_service._internal.parameter._serializer_types"]], "ni_measurementlink_service._internal.parameter": [[8, "module-ni_measurementlink_service._internal.parameter"]], "ni_measurementlink_service._internal.parameter.metadata": [[9, "module-ni_measurementlink_service._internal.parameter.metadata"]], "Args": [[9, "args"], [9, "id1"], [11, "args"], [11, "id1"], [11, "id3"], [46, "args"], [46, "id7"], [46, "id10"], [49, "args"], [49, "id8"], [49, "id11"], [50, "args"], [50, "id4"], [50, "id7"]], "Raises": [[9, "raises"], [46, "raises"], [46, "id12"], [49, "raises"], [49, "id13"], [50, "raises"]], "ni_measurementlink_service._internal.parameter.serialization_strategy": [[10, "module-ni_measurementlink_service._internal.parameter.serialization_strategy"]], "ni_measurementlink_service._internal.parameter.serializer": [[11, "module-ni_measurementlink_service._internal.parameter.serializer"]], "ni_measurementlink_service._internal.service_manager": [[12, "module-ni_measurementlink_service._internal.service_manager"]], "ni_measurementlink_service._internal.stubs": [[13, "module-ni_measurementlink_service._internal.stubs"]], "ni_measurementlink_service._internal.stubs.ni": [[14, "module-ni_measurementlink_service._internal.stubs.ni"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery": [[15, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2": [[16, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc": [[17, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1": [[18, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink": [[19, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement": [[20, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1": [[21, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2": [[22, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc": [[23, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2": [[24, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2": [[25, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc": [[26, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2": [[27, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc": [[28, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap": [[29, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1": [[30, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2": [[31, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc": [[32, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement": [[33, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1": [[34, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2": [[35, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc": [[36, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.protobuf": [[37, "module-ni_measurementlink_service._internal.stubs.ni.protobuf"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types": [[38, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2": [[39, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc": [[40, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.session_pb2": [[41, "module-ni_measurementlink_service._internal.stubs.session_pb2"]], "ni_measurementlink_service._internal.stubs.session_pb2_grpc": [[42, "module-ni_measurementlink_service._internal.stubs.session_pb2_grpc"]], "ni_measurementlink_service._internal.utilities": [[43, "module-ni_measurementlink_service._internal.utilities"]], "ni_measurementlink_service._loggers": [[44, "module-ni_measurementlink_service._loggers"]], "ni_measurementlink_service._tracelogging": [[45, "module-ni_measurementlink_service._tracelogging"]], "ni_measurementlink_service": [[46, "module-ni_measurementlink_service"]], "Package Contents": [[46, "package-contents"]], "ni_measurementlink_service.measurement": [[47, "module-ni_measurementlink_service.measurement"]], "ni_measurementlink_service.measurement.info": [[48, "module-ni_measurementlink_service.measurement.info"]], "ni_measurementlink_service.measurement.service": [[49, "module-ni_measurementlink_service.measurement.service"]], "ni_measurementlink_service.session_management": [[50, "module-ni_measurementlink_service.session_management"]], "NI MeasurementLink": [[51, "ni-measurementlink"]], "Indices and tables": [[51, "indices-and-tables"]]}, "indexentries": {"grpcchannelpool (class in ni_measurementlink_service._channelpool)": [[1, "ni_measurementlink_service._channelpool.GrpcChannelPool"]], "__enter__() (ni_measurementlink_service._channelpool.grpcchannelpool method)": [[1, "ni_measurementlink_service._channelpool.GrpcChannelPool.__enter__"]], "__exit__() (ni_measurementlink_service._channelpool.grpcchannelpool method)": [[1, "ni_measurementlink_service._channelpool.GrpcChannelPool.__exit__"]], "close() (ni_measurementlink_service._channelpool.grpcchannelpool method)": [[1, "ni_measurementlink_service._channelpool.GrpcChannelPool.close"]], "get_channel() (ni_measurementlink_service._channelpool.grpcchannelpool method)": [[1, "ni_measurementlink_service._channelpool.GrpcChannelPool.get_channel"]], "module": [[1, "module-ni_measurementlink_service._channelpool"], [2, "module-ni_measurementlink_service._datatypeinfo"], [3, "module-ni_measurementlink_service._internal.discovery_client"], [4, "module-ni_measurementlink_service._internal.grpc_servicer"], [5, "module-ni_measurementlink_service._internal"], [6, "module-ni_measurementlink_service._internal.parameter._message"], [7, "module-ni_measurementlink_service._internal.parameter._serializer_types"], [8, "module-ni_measurementlink_service._internal.parameter"], [9, "module-ni_measurementlink_service._internal.parameter.metadata"], [10, "module-ni_measurementlink_service._internal.parameter.serialization_strategy"], [11, "module-ni_measurementlink_service._internal.parameter.serializer"], [12, "module-ni_measurementlink_service._internal.service_manager"], [13, "module-ni_measurementlink_service._internal.stubs"], [14, "module-ni_measurementlink_service._internal.stubs.ni"], [15, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery"], [16, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2"], [17, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc"], [18, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1"], [19, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink"], [20, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement"], [21, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1"], [22, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2"], [23, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc"], [24, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2"], [25, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2"], [26, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc"], [27, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2"], [28, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc"], [29, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap"], [30, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1"], [31, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2"], [32, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc"], [33, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement"], [34, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1"], [35, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2"], [36, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc"], [37, "module-ni_measurementlink_service._internal.stubs.ni.protobuf"], [38, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types"], [39, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2"], [40, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc"], [41, "module-ni_measurementlink_service._internal.stubs.session_pb2"], [42, "module-ni_measurementlink_service._internal.stubs.session_pb2_grpc"], [43, "module-ni_measurementlink_service._internal.utilities"], [44, "module-ni_measurementlink_service._loggers"], [45, "module-ni_measurementlink_service._tracelogging"], [46, "module-ni_measurementlink_service"], [47, "module-ni_measurementlink_service.measurement"], [48, "module-ni_measurementlink_service.measurement.info"], [49, "module-ni_measurementlink_service.measurement.service"], [50, "module-ni_measurementlink_service.session_management"]], "ni_measurementlink_service._channelpool": [[1, "module-ni_measurementlink_service._channelpool"]], "datatypeinfo (class in ni_measurementlink_service._datatypeinfo)": [[2, "ni_measurementlink_service._datatypeinfo.DataTypeInfo"]], "get_type_info() (in module ni_measurementlink_service._datatypeinfo)": [[2, "ni_measurementlink_service._datatypeinfo.get_type_info"]], "grpc_field_type (ni_measurementlink_service._datatypeinfo.datatypeinfo attribute)": [[2, "ni_measurementlink_service._datatypeinfo.DataTypeInfo.grpc_field_type"]], "message_type (ni_measurementlink_service._datatypeinfo.datatypeinfo attribute)": [[2, "ni_measurementlink_service._datatypeinfo.DataTypeInfo.message_type"]], "ni_measurementlink_service._datatypeinfo": [[2, "module-ni_measurementlink_service._datatypeinfo"]], "repeated (ni_measurementlink_service._datatypeinfo.datatypeinfo attribute)": [[2, "ni_measurementlink_service._datatypeinfo.DataTypeInfo.repeated"]], "type_specialization (ni_measurementlink_service._datatypeinfo.datatypeinfo attribute)": [[2, "ni_measurementlink_service._datatypeinfo.DataTypeInfo.type_specialization"]], "discoveryclient (class in ni_measurementlink_service._internal.discovery_client)": [[3, "ni_measurementlink_service._internal.discovery_client.DiscoveryClient"]], "servicelocation (class in ni_measurementlink_service._internal.discovery_client)": [[3, "ni_measurementlink_service._internal.discovery_client.ServiceLocation"]], "insecure_address (ni_measurementlink_service._internal.discovery_client.servicelocation property)": [[3, "ni_measurementlink_service._internal.discovery_client.ServiceLocation.insecure_address"]], "insecure_port (ni_measurementlink_service._internal.discovery_client.servicelocation attribute)": [[3, "ni_measurementlink_service._internal.discovery_client.ServiceLocation.insecure_port"]], "location (ni_measurementlink_service._internal.discovery_client.servicelocation attribute)": [[3, "ni_measurementlink_service._internal.discovery_client.ServiceLocation.location"]], "ni_measurementlink_service._internal.discovery_client": [[3, "module-ni_measurementlink_service._internal.discovery_client"]], "register_measurement_service() (ni_measurementlink_service._internal.discovery_client.discoveryclient method)": [[3, "ni_measurementlink_service._internal.discovery_client.DiscoveryClient.register_measurement_service"]], "resolve_service() (ni_measurementlink_service._internal.discovery_client.discoveryclient method)": [[3, "ni_measurementlink_service._internal.discovery_client.DiscoveryClient.resolve_service"]], "ssl_authenticated_address (ni_measurementlink_service._internal.discovery_client.servicelocation property)": [[3, "ni_measurementlink_service._internal.discovery_client.ServiceLocation.ssl_authenticated_address"]], "ssl_authenticated_port (ni_measurementlink_service._internal.discovery_client.servicelocation attribute)": [[3, "ni_measurementlink_service._internal.discovery_client.ServiceLocation.ssl_authenticated_port"]], "stub (ni_measurementlink_service._internal.discovery_client.discoveryclient property)": [[3, "ni_measurementlink_service._internal.discovery_client.DiscoveryClient.stub"]], "unregister_service() (ni_measurementlink_service._internal.discovery_client.discoveryclient method)": [[3, "ni_measurementlink_service._internal.discovery_client.DiscoveryClient.unregister_service"]], "getmetadata() (ni_measurementlink_service._internal.grpc_servicer.measurementserviceservicerv1 method)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV1.GetMetadata"]], "getmetadata() (ni_measurementlink_service._internal.grpc_servicer.measurementserviceservicerv2 method)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV2.GetMetadata"]], "measure() (ni_measurementlink_service._internal.grpc_servicer.measurementserviceservicerv1 method)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV1.Measure"]], "measure() (ni_measurementlink_service._internal.grpc_servicer.measurementserviceservicerv2 method)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV2.Measure"]], "measurementservicecontext (class in ni_measurementlink_service._internal.grpc_servicer)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext"]], "measurementserviceservicerv1 (class in ni_measurementlink_service._internal.grpc_servicer)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV1"]], "measurementserviceservicerv2 (class in ni_measurementlink_service._internal.grpc_servicer)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceServicerV2"]], "abort() (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext method)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.abort"]], "add_cancel_callback() (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext method)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.add_cancel_callback"]], "cancel() (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext method)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.cancel"]], "grpc_context (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext property)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.grpc_context"]], "mark_complete() (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext method)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.mark_complete"]], "measurement_service_context (in module ni_measurementlink_service._internal.grpc_servicer)": [[4, "ni_measurementlink_service._internal.grpc_servicer.measurement_service_context"]], "ni_measurementlink_service._internal.grpc_servicer": [[4, "module-ni_measurementlink_service._internal.grpc_servicer"]], "pin_map_context (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext property)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.pin_map_context"]], "time_remaining (ni_measurementlink_service._internal.grpc_servicer.measurementservicecontext property)": [[4, "ni_measurementlink_service._internal.grpc_servicer.MeasurementServiceContext.time_remaining"]], "ni_measurementlink_service._internal": [[5, "module-ni_measurementlink_service._internal"]], "t (in module ni_measurementlink_service._internal.parameter._message)": [[6, "ni_measurementlink_service._internal.parameter._message.T"]], "ni_measurementlink_service._internal.parameter._message": [[6, "module-ni_measurementlink_service._internal.parameter._message"]], "decoder (in module ni_measurementlink_service._internal.parameter._serializer_types)": [[7, "ni_measurementlink_service._internal.parameter._serializer_types.Decoder"]], "decoderconstructor (in module ni_measurementlink_service._internal.parameter._serializer_types)": [[7, "ni_measurementlink_service._internal.parameter._serializer_types.DecoderConstructor"]], "encoder (in module ni_measurementlink_service._internal.parameter._serializer_types)": [[7, "ni_measurementlink_service._internal.parameter._serializer_types.Encoder"]], "encoderconstructor (in module ni_measurementlink_service._internal.parameter._serializer_types)": [[7, "ni_measurementlink_service._internal.parameter._serializer_types.EncoderConstructor"]], "key (in module ni_measurementlink_service._internal.parameter._serializer_types)": [[7, "ni_measurementlink_service._internal.parameter._serializer_types.Key"]], "newdefault (in module ni_measurementlink_service._internal.parameter._serializer_types)": [[7, "ni_measurementlink_service._internal.parameter._serializer_types.NewDefault"]], "partialdecoderconstructor (in module ni_measurementlink_service._internal.parameter._serializer_types)": [[7, "ni_measurementlink_service._internal.parameter._serializer_types.PartialDecoderConstructor"]], "partialencoderconstructor (in module ni_measurementlink_service._internal.parameter._serializer_types)": [[7, "ni_measurementlink_service._internal.parameter._serializer_types.PartialEncoderConstructor"]], "writefunction (in module ni_measurementlink_service._internal.parameter._serializer_types)": [[7, "ni_measurementlink_service._internal.parameter._serializer_types.WriteFunction"]], "ni_measurementlink_service._internal.parameter._serializer_types": [[7, "module-ni_measurementlink_service._internal.parameter._serializer_types"]], "ni_measurementlink_service._internal.parameter": [[8, "module-ni_measurementlink_service._internal.parameter"]], "parametermetadata (class in ni_measurementlink_service._internal.parameter.metadata)": [[9, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata"]], "annotations (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[9, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.annotations"]], "default_value (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[9, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.default_value"]], "display_name (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[9, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.display_name"]], "get_enum_values_annotation() (in module ni_measurementlink_service._internal.parameter.metadata)": [[9, "ni_measurementlink_service._internal.parameter.metadata.get_enum_values_annotation"]], "message_type (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[9, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.message_type"]], "ni_measurementlink_service._internal.parameter.metadata": [[9, "module-ni_measurementlink_service._internal.parameter.metadata"]], "repeated (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[9, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.repeated"]], "type (ni_measurementlink_service._internal.parameter.metadata.parametermetadata attribute)": [[9, "ni_measurementlink_service._internal.parameter.metadata.ParameterMetadata.type"]], "validate_default_value_type() (in module ni_measurementlink_service._internal.parameter.metadata)": [[9, "ni_measurementlink_service._internal.parameter.metadata.validate_default_value_type"]], "boolarraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.BoolArrayDecoder"]], "boolarrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.BoolArrayEncoder"]], "booldecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.BoolDecoder"]], "boolencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.BoolEncoder"]], "doublearraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleArrayDecoder"]], "doublearrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleArrayEncoder"]], "doubledecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleDecoder"]], "doubleencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.DoubleEncoder"]], "floatarraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.FloatArrayDecoder"]], "floatarrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.FloatArrayEncoder"]], "floatdecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.FloatDecoder"]], "floatencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.FloatEncoder"]], "int32arraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.Int32ArrayDecoder"]], "int32decoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.Int32Decoder"]], "int64arraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.Int64ArrayDecoder"]], "int64decoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.Int64Decoder"]], "intarrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.IntArrayEncoder"]], "intencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.IntEncoder"]], "messageencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.MessageEncoder"]], "stringarraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.StringArrayDecoder"]], "stringarrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.StringArrayEncoder"]], "stringdecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.StringDecoder"]], "stringencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.StringEncoder"]], "uint32arraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.UInt32ArrayDecoder"]], "uint32decoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.UInt32Decoder"]], "uint64arraydecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.UInt64ArrayDecoder"]], "uint64decoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.UInt64Decoder"]], "uintarrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.UIntArrayEncoder"]], "uintencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.UIntEncoder"]], "unsupportedmessagearrayencoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.UnsupportedMessageArrayEncoder"]], "xydatadecoder (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.XYDataDecoder"]], "get_decoder() (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.get_decoder"]], "get_encoder() (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.get_encoder"]], "get_type_default() (in module ni_measurementlink_service._internal.parameter.serialization_strategy)": [[10, "ni_measurementlink_service._internal.parameter.serialization_strategy.get_type_default"]], "ni_measurementlink_service._internal.parameter.serialization_strategy": [[10, "module-ni_measurementlink_service._internal.parameter.serialization_strategy"]], "deserialize_parameters() (in module ni_measurementlink_service._internal.parameter.serializer)": [[11, "ni_measurementlink_service._internal.parameter.serializer.deserialize_parameters"]], "ni_measurementlink_service._internal.parameter.serializer": [[11, "module-ni_measurementlink_service._internal.parameter.serializer"]], "serialize_default_values() (in module ni_measurementlink_service._internal.parameter.serializer)": [[11, "ni_measurementlink_service._internal.parameter.serializer.serialize_default_values"]], "serialize_parameters() (in module ni_measurementlink_service._internal.parameter.serializer)": [[11, "ni_measurementlink_service._internal.parameter.serializer.serialize_parameters"]], "grpcservice (class in ni_measurementlink_service._internal.service_manager)": [[12, "ni_measurementlink_service._internal.service_manager.GrpcService"]], "ni_measurementlink_service._internal.service_manager": [[12, "module-ni_measurementlink_service._internal.service_manager"]], "start() (ni_measurementlink_service._internal.service_manager.grpcservice method)": [[12, "ni_measurementlink_service._internal.service_manager.GrpcService.start"]], "stop() (ni_measurementlink_service._internal.service_manager.grpcservice method)": [[12, "ni_measurementlink_service._internal.service_manager.GrpcService.stop"]], "ni_measurementlink_service._internal.stubs": [[13, "module-ni_measurementlink_service._internal.stubs"]], "ni_measurementlink_service._internal.stubs.ni": [[14, "module-ni_measurementlink_service._internal.stubs.ni"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery": [[15, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2)": [[16, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2": [[16, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2"]], "discoveryservice (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService"]], "discoveryserviceservicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer"]], "discoveryservicestub (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceStub"]], "enumerateservices() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryservice static method)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService.EnumerateServices"]], "enumerateservices() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryserviceservicer method)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer.EnumerateServices"]], "registerservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryservice static method)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService.RegisterService"]], "registerservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryserviceservicer method)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer.RegisterService"]], "resolveservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryservice static method)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService.ResolveService"]], "resolveservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryserviceservicer method)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer.ResolveService"]], "unregisterservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryservice static method)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryService.UnregisterService"]], "unregisterservice() (ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.discoveryserviceservicer method)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.DiscoveryServiceServicer.UnregisterService"]], "add_discoveryserviceservicer_to_server() (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc)": [[17, "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc.add_DiscoveryServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc": [[17, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1.discovery_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1": [[18, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.discovery.v1"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink": [[19, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement": [[20, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1": [[21, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2)": [[22, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2": [[22, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2"]], "getmetadata() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.measurementservice static method)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementService.GetMetadata"]], "getmetadata() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.measurementserviceservicer method)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementServiceServicer.GetMetadata"]], "measure() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.measurementservice static method)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementService.Measure"]], "measure() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.measurementserviceservicer method)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementServiceServicer.Measure"]], "measurementservice (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementService"]], "measurementserviceservicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementServiceServicer"]], "measurementservicestub (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.MeasurementServiceStub"]], "add_measurementserviceservicer_to_server() (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc)": [[23, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc.add_MeasurementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc": [[23, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v1.measurement_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2": [[24, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2)": [[25, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2": [[25, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2"]], "getmetadata() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.measurementservice static method)": [[26, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementService.GetMetadata"]], "getmetadata() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.measurementserviceservicer method)": [[26, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementServiceServicer.GetMetadata"]], "measure() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.measurementservice static method)": [[26, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementService.Measure"]], "measure() (ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.measurementserviceservicer method)": [[26, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementServiceServicer.Measure"]], "measurementservice (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc)": [[26, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementService"]], "measurementserviceservicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc)": [[26, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementServiceServicer"]], "measurementservicestub (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc)": [[26, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.MeasurementServiceStub"]], "add_measurementserviceservicer_to_server() (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc)": [[26, "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc.add_MeasurementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc": [[26, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.measurement.v2.measurement_service_pb2_grpc"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2)": [[27, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2": [[27, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc": [[28, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pin_map_context_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap": [[29, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1": [[30, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2)": [[31, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2": [[31, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2"]], "createpinmapfromxml() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.CreatePinMapFromXml"]], "createpinmapfromxml() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.CreatePinMapFromXml"]], "getpinmap() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.GetPinMap"]], "getpinmap() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.GetPinMap"]], "pinmapservice (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService"]], "pinmapserviceservicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer"]], "pinmapservicestub (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceStub"]], "querypins() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.QueryPins"]], "querypins() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.QueryPins"]], "queryrelays() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.QueryRelays"]], "queryrelays() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.QueryRelays"]], "queryresourceaccessinformation() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.QueryResourceAccessInformation"]], "queryresourceaccessinformation() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.QueryResourceAccessInformation"]], "updatepinmapfromxml() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapservice static method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapService.UpdatePinMapFromXml"]], "updatepinmapfromxml() (ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.pinmapserviceservicer method)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.PinMapServiceServicer.UpdatePinMapFromXml"]], "add_pinmapserviceservicer_to_server() (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc)": [[32, "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc.add_PinMapServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc": [[32, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.pinmap.v1.pin_map_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement": [[33, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1": [[34, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2)": [[35, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2": [[35, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2"]], "registersessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementservice static method)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService.RegisterSessions"]], "registersessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementserviceservicer method)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer.RegisterSessions"]], "reserveallregisteredsessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementservice static method)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService.ReserveAllRegisteredSessions"]], "reserveallregisteredsessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementserviceservicer method)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer.ReserveAllRegisteredSessions"]], "reservesessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementservice static method)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService.ReserveSessions"]], "reservesessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementserviceservicer method)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer.ReserveSessions"]], "sessionmanagementservice (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService"]], "sessionmanagementserviceservicer (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer"]], "sessionmanagementservicestub (class in ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceStub"]], "unregistersessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementservice static method)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService.UnregisterSessions"]], "unregistersessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementserviceservicer method)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer.UnregisterSessions"]], "unreservesessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementservice static method)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementService.UnreserveSessions"]], "unreservesessions() (ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.sessionmanagementserviceservicer method)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.SessionManagementServiceServicer.UnreserveSessions"]], "add_sessionmanagementserviceservicer_to_server() (in module ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc)": [[36, "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc.add_SessionManagementServiceServicer_to_server"]], "ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc": [[36, "module-ni_measurementlink_service._internal.stubs.ni.measurementlink.sessionmanagement.v1.session_management_service_pb2_grpc"]], "ni_measurementlink_service._internal.stubs.ni.protobuf": [[37, "module-ni_measurementlink_service._internal.stubs.ni.protobuf"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types": [[38, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types"]], "descriptor (in module ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2)": [[39, "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2": [[39, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2"]], "ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc": [[40, "module-ni_measurementlink_service._internal.stubs.ni.protobuf.types.xydata_pb2_grpc"]], "descriptor (in module ni_measurementlink_service._internal.stubs.session_pb2)": [[41, "ni_measurementlink_service._internal.stubs.session_pb2.DESCRIPTOR"]], "ni_measurementlink_service._internal.stubs.session_pb2": [[41, "module-ni_measurementlink_service._internal.stubs.session_pb2"]], "enumeratedevices() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilities static method)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities.EnumerateDevices"]], "enumeratedevices() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilitiesservicer method)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer.EnumerateDevices"]], "isreservedbyclient() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilities static method)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities.IsReservedByClient"]], "isreservedbyclient() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilitiesservicer method)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer.IsReservedByClient"]], "reserve() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilities static method)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities.Reserve"]], "reserve() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilitiesservicer method)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer.Reserve"]], "resetserver() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilities static method)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities.ResetServer"]], "resetserver() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilitiesservicer method)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer.ResetServer"]], "sessionutilities (class in ni_measurementlink_service._internal.stubs.session_pb2_grpc)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities"]], "sessionutilitiesservicer (class in ni_measurementlink_service._internal.stubs.session_pb2_grpc)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer"]], "sessionutilitiesstub (class in ni_measurementlink_service._internal.stubs.session_pb2_grpc)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesStub"]], "unreserve() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilities static method)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilities.Unreserve"]], "unreserve() (ni_measurementlink_service._internal.stubs.session_pb2_grpc.sessionutilitiesservicer method)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.SessionUtilitiesServicer.Unreserve"]], "add_sessionutilitiesservicer_to_server() (in module ni_measurementlink_service._internal.stubs.session_pb2_grpc)": [[42, "ni_measurementlink_service._internal.stubs.session_pb2_grpc.add_SessionUtilitiesServicer_to_server"]], "ni_measurementlink_service._internal.stubs.session_pb2_grpc": [[42, "module-ni_measurementlink_service._internal.stubs.session_pb2_grpc"]], "ni_measurementlink_service._internal.utilities": [[43, "module-ni_measurementlink_service._internal.utilities"]], "clientlogger (class in ni_measurementlink_service._loggers)": [[44, "ni_measurementlink_service._loggers.ClientLogger"]], "serverlogger (class in ni_measurementlink_service._loggers)": [[44, "ni_measurementlink_service._loggers.ServerLogger"]], "intercept_service() (ni_measurementlink_service._loggers.serverlogger method)": [[44, "ni_measurementlink_service._loggers.ServerLogger.intercept_service"]], "intercept_stream_stream() (ni_measurementlink_service._loggers.clientlogger method)": [[44, "ni_measurementlink_service._loggers.ClientLogger.intercept_stream_stream"]], "intercept_stream_unary() (ni_measurementlink_service._loggers.clientlogger method)": [[44, "ni_measurementlink_service._loggers.ClientLogger.intercept_stream_unary"]], "intercept_unary_stream() (ni_measurementlink_service._loggers.clientlogger method)": [[44, "ni_measurementlink_service._loggers.ClientLogger.intercept_unary_stream"]], "intercept_unary_unary() (ni_measurementlink_service._loggers.clientlogger method)": [[44, "ni_measurementlink_service._loggers.ClientLogger.intercept_unary_unary"]], "is_enabled() (ni_measurementlink_service._loggers.clientlogger class method)": [[44, "ni_measurementlink_service._loggers.ClientLogger.is_enabled"]], "is_enabled() (ni_measurementlink_service._loggers.serverlogger class method)": [[44, "ni_measurementlink_service._loggers.ServerLogger.is_enabled"]], "ni_measurementlink_service._loggers": [[44, "module-ni_measurementlink_service._loggers"]], "is_enabled() (in module ni_measurementlink_service._tracelogging)": [[45, "ni_measurementlink_service._tracelogging.is_enabled"]], "log_grpc_client_call_start() (in module ni_measurementlink_service._tracelogging)": [[45, "ni_measurementlink_service._tracelogging.log_grpc_client_call_start"]], "log_grpc_client_call_stop() (in module ni_measurementlink_service._tracelogging)": [[45, "ni_measurementlink_service._tracelogging.log_grpc_client_call_stop"]], "log_grpc_client_call_streaming_request() (in module ni_measurementlink_service._tracelogging)": [[45, "ni_measurementlink_service._tracelogging.log_grpc_client_call_streaming_request"]], "log_grpc_client_call_streaming_response() (in module ni_measurementlink_service._tracelogging)": [[45, "ni_measurementlink_service._tracelogging.log_grpc_client_call_streaming_response"]], "log_grpc_server_call_start() (in module ni_measurementlink_service._tracelogging)": [[45, "ni_measurementlink_service._tracelogging.log_grpc_server_call_start"]], "log_grpc_server_call_stop() (in module ni_measurementlink_service._tracelogging)": [[45, "ni_measurementlink_service._tracelogging.log_grpc_server_call_stop"]], "log_grpc_server_call_streaming_request() (in module ni_measurementlink_service._tracelogging)": [[45, "ni_measurementlink_service._tracelogging.log_grpc_server_call_streaming_request"]], "log_grpc_server_call_streaming_response() (in module ni_measurementlink_service._tracelogging)": [[45, "ni_measurementlink_service._tracelogging.log_grpc_server_call_streaming_response"]], "ni_measurementlink_service._tracelogging": [[45, "module-ni_measurementlink_service._tracelogging"]], "boolean (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.Boolean"]], "booleanarray1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.BooleanArray1D"]], "datatype (class in ni_measurementlink_service)": [[46, "ni_measurementlink_service.DataType"]], "double (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.Double"]], "doublearray1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.DoubleArray1D"]], "doublexydata (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.DoubleXYData"]], "enum (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.Enum"]], "enumarray1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.EnumArray1D"]], "float (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.Float"]], "floatarray1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.FloatArray1D"]], "int32 (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.Int32"]], "int32array1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.Int32Array1D"]], "int64 (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.Int64"]], "int64array1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.Int64Array1D"]], "measurementinfo (class in ni_measurementlink_service)": [[46, "ni_measurementlink_service.MeasurementInfo"]], "measurementservice (class in ni_measurementlink_service)": [[46, "ni_measurementlink_service.MeasurementService"]], "path (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.Path"]], "patharray1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.PathArray1D"]], "pin (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.Pin"]], "pinarray1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.PinArray1D"]], "serviceinfo (class in ni_measurementlink_service)": [[46, "ni_measurementlink_service.ServiceInfo"]], "string (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.String"]], "stringarray1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.StringArray1D"]], "uint32 (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.UInt32"]], "uint32array1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.UInt32Array1D"]], "uint64 (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.UInt64"]], "uint64array1d (ni_measurementlink_service.datatype attribute)": [[46, "ni_measurementlink_service.DataType.UInt64Array1D"]], "__enter__() (ni_measurementlink_service.measurementservice method)": [[46, "ni_measurementlink_service.MeasurementService.__enter__"]], "__exit__() (ni_measurementlink_service.measurementservice method)": [[46, "ni_measurementlink_service.MeasurementService.__exit__"]], "annotations (ni_measurementlink_service.serviceinfo attribute)": [[46, "ni_measurementlink_service.ServiceInfo.annotations"]], "close_service() (ni_measurementlink_service.measurementservice method)": [[46, "ni_measurementlink_service.MeasurementService.close_service"]], "configuration() (ni_measurementlink_service.measurementservice method)": [[46, "ni_measurementlink_service.MeasurementService.configuration"]], "description_url (ni_measurementlink_service.serviceinfo attribute)": [[46, "ni_measurementlink_service.ServiceInfo.description_url"]], "display_name (ni_measurementlink_service.measurementinfo attribute)": [[46, "ni_measurementlink_service.MeasurementInfo.display_name"]], "get_channel() (ni_measurementlink_service.measurementservice method)": [[46, "ni_measurementlink_service.MeasurementService.get_channel"]], "host_service() (ni_measurementlink_service.measurementservice method)": [[46, "ni_measurementlink_service.MeasurementService.host_service"]], "ni_measurementlink_service": [[46, "module-ni_measurementlink_service"]], "output() (ni_measurementlink_service.measurementservice method)": [[46, "ni_measurementlink_service.MeasurementService.output"]], "provided_interfaces (ni_measurementlink_service.serviceinfo attribute)": [[46, "ni_measurementlink_service.ServiceInfo.provided_interfaces"]], "register_measurement() (ni_measurementlink_service.measurementservice method)": [[46, "ni_measurementlink_service.MeasurementService.register_measurement"]], "service_class (ni_measurementlink_service.serviceinfo attribute)": [[46, "ni_measurementlink_service.ServiceInfo.service_class"]], "ui_file_paths (ni_measurementlink_service.measurementinfo attribute)": [[46, "ni_measurementlink_service.MeasurementInfo.ui_file_paths"]], "version (ni_measurementlink_service.measurementinfo attribute)": [[46, "ni_measurementlink_service.MeasurementInfo.version"]], "ni_measurementlink_service.measurement": [[47, "module-ni_measurementlink_service.measurement"]], "boolean (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.Boolean"]], "booleanarray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.BooleanArray1D"]], "datatype (class in ni_measurementlink_service.measurement.info)": [[48, "ni_measurementlink_service.measurement.info.DataType"]], "double (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.Double"]], "doublearray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.DoubleArray1D"]], "doublexydata (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.DoubleXYData"]], "enum (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.Enum"]], "enum (ni_measurementlink_service.measurement.info.typespecialization attribute)": [[48, "ni_measurementlink_service.measurement.info.TypeSpecialization.Enum"]], "enumarray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.EnumArray1D"]], "float (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.Float"]], "floatarray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.FloatArray1D"]], "int32 (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.Int32"]], "int32array1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.Int32Array1D"]], "int64 (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.Int64"]], "int64array1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.Int64Array1D"]], "measurementinfo (class in ni_measurementlink_service.measurement.info)": [[48, "ni_measurementlink_service.measurement.info.MeasurementInfo"]], "notype (ni_measurementlink_service.measurement.info.typespecialization attribute)": [[48, "ni_measurementlink_service.measurement.info.TypeSpecialization.NoType"]], "path (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.Path"]], "path (ni_measurementlink_service.measurement.info.typespecialization attribute)": [[48, "ni_measurementlink_service.measurement.info.TypeSpecialization.Path"]], "patharray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.PathArray1D"]], "pin (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.Pin"]], "pin (ni_measurementlink_service.measurement.info.typespecialization attribute)": [[48, "ni_measurementlink_service.measurement.info.TypeSpecialization.Pin"]], "pinarray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.PinArray1D"]], "serviceinfo (class in ni_measurementlink_service.measurement.info)": [[48, "ni_measurementlink_service.measurement.info.ServiceInfo"]], "string (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.String"]], "stringarray1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.StringArray1D"]], "typespecialization (class in ni_measurementlink_service.measurement.info)": [[48, "ni_measurementlink_service.measurement.info.TypeSpecialization"]], "uint32 (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.UInt32"]], "uint32array1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.UInt32Array1D"]], "uint64 (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.UInt64"]], "uint64array1d (ni_measurementlink_service.measurement.info.datatype attribute)": [[48, "ni_measurementlink_service.measurement.info.DataType.UInt64Array1D"]], "annotations (ni_measurementlink_service.measurement.info.serviceinfo attribute)": [[48, "ni_measurementlink_service.measurement.info.ServiceInfo.annotations"]], "description_url (ni_measurementlink_service.measurement.info.serviceinfo attribute)": [[48, "ni_measurementlink_service.measurement.info.ServiceInfo.description_url"]], "display_name (ni_measurementlink_service.measurement.info.measurementinfo attribute)": [[48, "ni_measurementlink_service.measurement.info.MeasurementInfo.display_name"]], "ni_measurementlink_service.measurement.info": [[48, "module-ni_measurementlink_service.measurement.info"]], "provided_interfaces (ni_measurementlink_service.measurement.info.serviceinfo attribute)": [[48, "ni_measurementlink_service.measurement.info.ServiceInfo.provided_interfaces"]], "service_class (ni_measurementlink_service.measurement.info.serviceinfo attribute)": [[48, "ni_measurementlink_service.measurement.info.ServiceInfo.service_class"]], "ui_file_paths (ni_measurementlink_service.measurement.info.measurementinfo attribute)": [[48, "ni_measurementlink_service.measurement.info.MeasurementInfo.ui_file_paths"]], "version (ni_measurementlink_service.measurement.info.measurementinfo attribute)": [[48, "ni_measurementlink_service.measurement.info.MeasurementInfo.version"]], "measurementcontext (class in ni_measurementlink_service.measurement.service)": [[49, "ni_measurementlink_service.measurement.service.MeasurementContext"]], "measurementservice (class in ni_measurementlink_service.measurement.service)": [[49, "ni_measurementlink_service.measurement.service.MeasurementService"]], "supportedenumtype (in module ni_measurementlink_service.measurement.service)": [[49, "ni_measurementlink_service.measurement.service.SupportedEnumType"]], "__enter__() (ni_measurementlink_service.measurement.service.measurementservice method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementService.__enter__"]], "__exit__() (ni_measurementlink_service.measurement.service.measurementservice method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementService.__exit__"]], "abort() (ni_measurementlink_service.measurement.service.measurementcontext method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementContext.abort"]], "add_cancel_callback() (ni_measurementlink_service.measurement.service.measurementcontext method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementContext.add_cancel_callback"]], "cancel() (ni_measurementlink_service.measurement.service.measurementcontext method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementContext.cancel"]], "close_service() (ni_measurementlink_service.measurement.service.measurementservice method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementService.close_service"]], "configuration() (ni_measurementlink_service.measurement.service.measurementservice method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementService.configuration"]], "get_channel() (ni_measurementlink_service.measurement.service.measurementservice method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementService.get_channel"]], "grpc_context (ni_measurementlink_service.measurement.service.measurementcontext property)": [[49, "ni_measurementlink_service.measurement.service.MeasurementContext.grpc_context"]], "host_service() (ni_measurementlink_service.measurement.service.measurementservice method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementService.host_service"]], "ni_measurementlink_service.measurement.service": [[49, "module-ni_measurementlink_service.measurement.service"]], "output() (ni_measurementlink_service.measurement.service.measurementservice method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementService.output"]], "pin_map_context (ni_measurementlink_service.measurement.service.measurementcontext property)": [[49, "ni_measurementlink_service.measurement.service.MeasurementContext.pin_map_context"]], "register_measurement() (ni_measurementlink_service.measurement.service.measurementservice method)": [[49, "ni_measurementlink_service.measurement.service.MeasurementService.register_measurement"]], "time_remaining (ni_measurementlink_service.measurement.service.measurementcontext property)": [[49, "ni_measurementlink_service.measurement.service.MeasurementContext.time_remaining"]], "basereservation (class in ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.BaseReservation"]], "channelmapping (class in ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.ChannelMapping"]], "client (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.Client"]], "grpc_service_class (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.GRPC_SERVICE_CLASS"]], "grpc_service_interface_name (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.GRPC_SERVICE_INTERFACE_NAME"]], "instrument_type_ni_daqmx (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_DAQMX"]], "instrument_type_ni_dcpower (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_DCPOWER"]], "instrument_type_ni_digital_pattern (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_DIGITAL_PATTERN"]], "instrument_type_ni_dmm (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_DMM"]], "instrument_type_ni_fgen (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_FGEN"]], "instrument_type_ni_hsdio (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_HSDIO"]], "instrument_type_ni_model_based_instrument (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_MODEL_BASED_INSTRUMENT"]], "instrument_type_ni_relay_driver (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RELAY_DRIVER"]], "instrument_type_ni_rfmx (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RFMX"]], "instrument_type_ni_rfpm (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RFPM"]], "instrument_type_ni_rfsa (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RFSA"]], "instrument_type_ni_rfsg (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_RFSG"]], "instrument_type_ni_scope (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_SCOPE"]], "instrument_type_ni_switch_executive_virtual_device (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NI_SWITCH_EXECUTIVE_VIRTUAL_DEVICE"]], "instrument_type_none (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.INSTRUMENT_TYPE_NONE"]], "multisessionreservation (class in ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.MultiSessionReservation"]], "pinmapcontext (class in ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.PinMapContext"]], "sessioninformation (class in ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.SessionInformation"]], "sessionmanagementclient (class in ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.SessionManagementClient"]], "singlesessionreservation (class in ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.SingleSessionReservation"]], "__enter__() (ni_measurementlink_service.session_management.basereservation method)": [[50, "ni_measurementlink_service.session_management.BaseReservation.__enter__"]], "__exit__() (ni_measurementlink_service.session_management.basereservation method)": [[50, "ni_measurementlink_service.session_management.BaseReservation.__exit__"]], "__getattr__() (in module ni_measurementlink_service.session_management)": [[50, "ni_measurementlink_service.session_management.__getattr__"]], "channel (ni_measurementlink_service.session_management.channelmapping attribute)": [[50, "ni_measurementlink_service.session_management.ChannelMapping.channel"]], "channel_list (ni_measurementlink_service.session_management.sessioninformation attribute)": [[50, "ni_measurementlink_service.session_management.SessionInformation.channel_list"]], "channel_mappings (ni_measurementlink_service.session_management.sessioninformation attribute)": [[50, "ni_measurementlink_service.session_management.SessionInformation.channel_mappings"]], "instrument_type_id (ni_measurementlink_service.session_management.sessioninformation attribute)": [[50, "ni_measurementlink_service.session_management.SessionInformation.instrument_type_id"]], "ni_measurementlink_service.session_management": [[50, "module-ni_measurementlink_service.session_management"]], "pin_map_id (ni_measurementlink_service.session_management.pinmapcontext attribute)": [[50, "ni_measurementlink_service.session_management.PinMapContext.pin_map_id"]], "pin_or_relay_name (ni_measurementlink_service.session_management.channelmapping attribute)": [[50, "ni_measurementlink_service.session_management.ChannelMapping.pin_or_relay_name"]], "register_sessions() (ni_measurementlink_service.session_management.sessionmanagementclient method)": [[50, "ni_measurementlink_service.session_management.SessionManagementClient.register_sessions"]], "reserve_all_registered_sessions() (ni_measurementlink_service.session_management.sessionmanagementclient method)": [[50, "ni_measurementlink_service.session_management.SessionManagementClient.reserve_all_registered_sessions"]], "reserve_session() (ni_measurementlink_service.session_management.sessionmanagementclient method)": [[50, "ni_measurementlink_service.session_management.SessionManagementClient.reserve_session"]], "reserve_sessions() (ni_measurementlink_service.session_management.sessionmanagementclient method)": [[50, "ni_measurementlink_service.session_management.SessionManagementClient.reserve_sessions"]], "resource_name (ni_measurementlink_service.session_management.sessioninformation attribute)": [[50, "ni_measurementlink_service.session_management.SessionInformation.resource_name"]], "session_exists (ni_measurementlink_service.session_management.sessioninformation attribute)": [[50, "ni_measurementlink_service.session_management.SessionInformation.session_exists"]], "session_info() (ni_measurementlink_service.session_management.multisessionreservation method)": [[50, "ni_measurementlink_service.session_management.MultiSessionReservation.session_info"]], "session_info() (ni_measurementlink_service.session_management.singlesessionreservation method)": [[50, "ni_measurementlink_service.session_management.SingleSessionReservation.session_info"]], "session_name (ni_measurementlink_service.session_management.sessioninformation attribute)": [[50, "ni_measurementlink_service.session_management.SessionInformation.session_name"]], "site (ni_measurementlink_service.session_management.channelmapping attribute)": [[50, "ni_measurementlink_service.session_management.ChannelMapping.site"]], "sites (ni_measurementlink_service.session_management.pinmapcontext attribute)": [[50, "ni_measurementlink_service.session_management.PinMapContext.sites"]], "unregister_sessions() (ni_measurementlink_service.session_management.sessionmanagementclient method)": [[50, "ni_measurementlink_service.session_management.SessionManagementClient.unregister_sessions"]], "unreserve() (ni_measurementlink_service.session_management.basereservation method)": [[50, "ni_measurementlink_service.session_management.BaseReservation.unreserve"]]}}) \ No newline at end of file diff --git a/ni_measurementlink_generator/pyproject.toml b/ni_measurementlink_generator/pyproject.toml index 2323ca7dd..dd15222dc 100644 --- a/ni_measurementlink_generator/pyproject.toml +++ b/ni_measurementlink_generator/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "ni_measurementlink_generator" -version = "1.2.0-dev1" +version = "1.2.0-dev2" description = "MeasurementLink Code Generator for Python" authors = ["NI "] readme = "README.md" diff --git a/pyproject.toml b/pyproject.toml index 69480a2cd..8eb5b017b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ extend_exclude = '*_pb2_grpc.py,*_pb2_grpc.pyi,*_pb2.py,*_pb2.pyi,ni_measurement [tool.poetry] name = "ni_measurementlink_service" -version = "1.2.0-dev1" +version = "1.2.0-dev2" description = "MeasurementLink Support for Python" authors = ["NI "] readme = "README.md" # apply the repo readme to the package as well