You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
obws/coverage/src/requests/mod.rs.html

1 line
76 KiB
HTML

<!doctype html><html><head><meta name='viewport' content='width=device-width,initial-scale=1'><meta charset='UTF-8'><link rel='stylesheet' type='text/css' href='../../../style.css'></head><body><h2>Coverage Report</h2><h4>Created: 2022-07-04 16:17</h4><div class='centered'><table><div class='source-name-title'><pre>src/requests/mod.rs</pre></div><tr><td><pre>Line</pre></td><td><pre>Count</pre></td><td><pre>Source (<a href='#L67'>jump to first uncovered line</a>)</pre></td></td></tr><tr><td class='line-number'><a name='L1' href='#L1'><pre>1</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>//! All requests that can be send to the API.</pre></td></tr><tr><td class='line-number'><a name='L2' href='#L2'><pre>2</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L3' href='#L3'><pre>3</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>use bitflags::bitflags;</pre></td></tr><tr><td class='line-number'><a name='L4' href='#L4'><pre>4</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>use serde::{ser::SerializeStruct, Serialize};</pre></td></tr><tr><td class='line-number'><a name='L5' href='#L5'><pre>5</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>use serde_repr::Serialize_repr;</pre></td></tr><tr><td class='line-number'><a name='L6' href='#L6'><pre>6</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>use serde_with::skip_serializing_none;</pre></td></tr><tr><td class='line-number'><a name='L7' href='#L7'><pre>7</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L8' href='#L8'><pre>8</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod config;</pre></td></tr><tr><td class='line-number'><a name='L9' href='#L9'><pre>9</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod custom;</pre></td></tr><tr><td class='line-number'><a name='L10' href='#L10'><pre>10</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod filters;</pre></td></tr><tr><td class='line-number'><a name='L11' href='#L11'><pre>11</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod general;</pre></td></tr><tr><td class='line-number'><a name='L12' href='#L12'><pre>12</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod hotkeys;</pre></td></tr><tr><td class='line-number'><a name='L13' href='#L13'><pre>13</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod inputs;</pre></td></tr><tr><td class='line-number'><a name='L14' href='#L14'><pre>14</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) mod media_inputs;</pre></td></tr><tr><td class='line-number'><a name='L15' href='#L15'><pre>15</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) mod outputs;</pre></td></tr><tr><td class='line-number'><a name='L16' href='#L16'><pre>16</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod profiles;</pre></td></tr><tr><td class='line-number'><a name='L17' href='#L17'><pre>17</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) mod recording;</pre></td></tr><tr><td class='line-number'><a name='L18' href='#L18'><pre>18</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) mod replay_buffer;</pre></td></tr><tr><td class='line-number'><a name='L19' href='#L19'><pre>19</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) mod scene_collections;</pre></td></tr><tr><td class='line-number'><a name='L20' href='#L20'><pre>20</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod scene_items;</pre></td></tr><tr><td class='line-number'><a name='L21' href='#L21'><pre>21</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod scenes;</pre></td></tr><tr><td class='line-number'><a name='L22' href='#L22'><pre>22</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod sources;</pre></td></tr><tr><td class='line-number'><a name='L23' href='#L23'><pre>23</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) mod streaming;</pre></td></tr><tr><td class='line-number'><a name='L24' href='#L24'><pre>24</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) mod transitions;</pre></td></tr><tr><td class='line-number'><a name='L25' href='#L25'><pre>25</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub mod ui;</pre></td></tr><tr><td class='line-number'><a name='L26' href='#L26'><pre>26</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) mod virtual_cam;</pre></td></tr><tr><td class='line-number'><a name='L27' href='#L27'><pre>27</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L28' href='#L28'><pre>28</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) enum ClientRequest&lt;&apos;a&gt; {</pre></td></tr><tr><td class='line-number'><a name='L29' href='#L29'><pre>29</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Response to [`crate::responses::ServerMessage::Hello`] message, should contain</pre></td></tr><tr><td class='line-number'><a name='L30' href='#L30'><pre>30</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// authentication string if authentication is required, along with Pub-sub subscriptions and</pre></td></tr><tr><td class='line-number'><a name='L31' href='#L31'><pre>31</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// other session parameters.</pre></td></tr><tr><td class='line-number'><a name='L32' href='#L32'><pre>32</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Identify(Identify),</pre></td></tr><tr><td class='line-number'><a name='L33' href='#L33'><pre>33</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Sent at any time after initial identification to update the provided session parameters.</pre></td></tr><tr><td class='line-number'><a name='L34' href='#L34'><pre>34</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Reidentify(Reidentify),</pre></td></tr><tr><td class='line-number'><a name='L35' href='#L35'><pre>35</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Client is making a request to obs-websocket. For example get current scene, create source.</pre></td></tr><tr><td class='line-number'><a name='L36' href='#L36'><pre>36</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Request(Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L37' href='#L37'><pre>37</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Client is making a batch of requests for obs-websocket. Requests are processed serially</pre></td></tr><tr><td class='line-number'><a name='L38' href='#L38'><pre>38</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// (in order) by the server.</pre></td></tr><tr><td class='line-number'><a name='L39' href='#L39'><pre>39</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[allow(dead_code)]</pre></td></tr><tr><td class='line-number'><a name='L40' href='#L40'><pre>40</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> RequestBatch(RequestBatch&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L41' href='#L41'><pre>41</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>}</pre></td></tr><tr><td class='line-number'><a name='L42' href='#L42'><pre>42</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L43' href='#L43'><pre>43</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>impl&lt;&apos;a&gt; Serialize for ClientRequest&lt;&apos;a&gt; {</pre></td></tr><tr><td class='line-number'><a name='L44' href='#L44'><pre>44</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> fn serialize&lt;S&gt;(&amp;self, serializer: S) -&gt; Result&lt;S::Ok, S::Error&gt;</pre></td></tr><tr><td class='line-number'><a name='L45' href='#L45'><pre>45</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> where</pre></td></tr><tr><td class='line-number'><a name='L46' href='#L46'><pre>46</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> S: serde::Serializer,</pre></td></tr><tr><td class='line-number'><a name='L47' href='#L47'><pre>47</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> {</pre></td></tr><tr><td class='line-number'><a name='L48' href='#L48'><pre>48</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> #[derive(Serialize_repr)]</pre><div class='expansion-view'><div class='centered'><table><div class='source-name-title'><pre>&lt;&lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::OpCode as serde::ser::Serialize&gt;::serialize::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;&gt;</pre></div><tr><td><pre>Line</pre></td><td><pre>Count</pre></td><td><pre>Source</pre></td></tr><tr><td class='line-number'><a name='L48' href='#L48'><pre>48</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> #[derive(Serialize_repr)]</pre></td></tr></table></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;&lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::OpCode as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;&lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::OpCode as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div></td></tr><tr><td class='line-number'><a name='L49' href='#L49'><pre>49</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> #[repr(u8)]</pre></td></tr><tr><td class='line-number'><a name='L50' href='#L50'><pre>50</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> enum OpCode {</pre></td></tr><tr><td class='line-number'><a name='L51' href='#L51'><pre>51</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// The message sent by a newly connected client to obs-websocket in response to a</pre></td></tr><tr><td class='line-number'><a name='L52' href='#L52'><pre>52</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// `Hello`.</pre></td></tr><tr><td class='line-number'><a name='L53' href='#L53'><pre>53</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> Identify = 1,</pre></td></tr><tr><td class='line-number'><a name='L54' href='#L54'><pre>54</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// The message sent by an already-identified client to update identification</pre></td></tr><tr><td class='line-number'><a name='L55' href='#L55'><pre>55</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// parameters.</pre></td></tr><tr><td class='line-number'><a name='L56' href='#L56'><pre>56</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> Reidentify = 3,</pre></td></tr><tr><td class='line-number'><a name='L57' href='#L57'><pre>57</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// The message sent by a client to obs-websocket to perform a request.</pre></td></tr><tr><td class='line-number'><a name='L58' href='#L58'><pre>58</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> Request = 6,</pre></td></tr><tr><td class='line-number'><a name='L59' href='#L59'><pre>59</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// The message sent by a client to obs-websocket to perform a batch of requests.</pre></td></tr><tr><td class='line-number'><a name='L60' href='#L60'><pre>60</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> RequestBatch = 8,</pre></td></tr><tr><td class='line-number'><a name='L61' href='#L61'><pre>61</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> }</pre></td></tr><tr><td class='line-number'><a name='L62' href='#L62'><pre>62</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L63' href='#L63'><pre>63</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> fn write_state&lt;S&gt;(serializer: S, op: OpCode, d: &amp;impl Serialize) -&gt; Result&lt;S::Ok, S::Error&gt;</pre></td></tr><tr><td class='line-number'><a name='L64' href='#L64'><pre>64</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> where</pre></td></tr><tr><td class='line-number'><a name='L65' href='#L65'><pre>65</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> S: serde::Serializer,</pre></td></tr><tr><td class='line-number'><a name='L66' href='#L66'><pre>66</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> {</pre></td></tr><tr><td class='line-number'><a name='L67' href='#L67'><pre>67</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> let mut state = serializer.serialize_struct(&quot;ClientRequest&quot;, 2)<div class='tooltip'><span class='red'>?</span><span class='tooltip-content'>0</span></div>;</pre></td></tr><tr><td class='line-number'><a name='L68' href='#L68'><pre>68</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> state.serialize_field(&quot;op&quot;, &amp;op)<div class='tooltip'><span class='red'>?</span><span class='tooltip-content'>0</span></div>;</pre></td></tr><tr><td class='line-number'><a name='L69' href='#L69'><pre>69</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> state.serialize_field(&quot;d&quot;, d)<div class='tooltip'><span class='red'>?</span><span class='tooltip-content'>0</span></div>;</pre></td></tr><tr><td class='line-number'><a name='L70' href='#L70'><pre>70</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> state.end()</pre></td></tr><tr><td class='line-number'><a name='L71' href='#L71'><pre>71</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> }</pre><div class='expansion-view'><div class='centered'><table><div class='source-name-title'><pre>&lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::write_state::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;, obws::requests::Identify&gt;</pre></div><tr><td><pre>Line</pre></td><td><pre>Count</pre></td><td><pre>Source</pre></td></tr><tr><td class='line-number'><a name='L63' href='#L63'><pre>63</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> fn write_state&lt;S&gt;(serializer: S, op: OpCode, d: &amp;impl Serialize) -&gt; Result&lt;S::Ok, S::Error&gt;</pre></td></tr><tr><td class='line-number'><a name='L64' href='#L64'><pre>64</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> where</pre></td></tr><tr><td class='line-number'><a name='L65' href='#L65'><pre>65</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> S: serde::Serializer,</pre></td></tr><tr><td class='line-number'><a name='L66' href='#L66'><pre>66</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> {</pre></td></tr><tr><td class='line-number'><a name='L67' href='#L67'><pre>67</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> let mut state = serializer.serialize_struct(&quot;ClientRequest&quot;, 2)<div class='tooltip'><span class='red'>?</span><span class='tooltip-content'>0</span></div>;</pre></td></tr><tr><td class='line-number'><a name='L68' href='#L68'><pre>68</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> state.serialize_field(&quot;op&quot;, &amp;op)<div class='tooltip'><span class='red'>?</span><span class='tooltip-content'>0</span></div>;</pre></td></tr><tr><td class='line-number'><a name='L69' href='#L69'><pre>69</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> state.serialize_field(&quot;d&quot;, d)<div class='tooltip'><span class='red'>?</span><span class='tooltip-content'>0</span></div>;</pre></td></tr><tr><td class='line-number'><a name='L70' href='#L70'><pre>70</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> state.end()</pre></td></tr><tr><td class='line-number'><a name='L71' href='#L71'><pre>71</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> }</pre></td></tr></table></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::write_state::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;, obws::requests::Reidentify&gt;</pre></div></div><div class='expansion-view'><div class='centered'><table><div class='source-name-title'><pre>&lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::write_state::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;, obws::requests::Request&gt;</pre></div><tr><td><pre>Line</pre></td><td><pre>Count</pre></td><td><pre>Source</pre></td></tr><tr><td class='line-number'><a name='L63' href='#L63'><pre>63</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> fn write_state&lt;S&gt;(serializer: S, op: OpCode, d: &amp;impl Serialize) -&gt; Result&lt;S::Ok, S::Error&gt;</pre></td></tr><tr><td class='line-number'><a name='L64' href='#L64'><pre>64</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> where</pre></td></tr><tr><td class='line-number'><a name='L65' href='#L65'><pre>65</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> S: serde::Serializer,</pre></td></tr><tr><td class='line-number'><a name='L66' href='#L66'><pre>66</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> {</pre></td></tr><tr><td class='line-number'><a name='L67' href='#L67'><pre>67</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> let mut state = serializer.serialize_struct(&quot;ClientRequest&quot;, 2)<div class='tooltip'><span class='red'>?</span><span class='tooltip-content'>0</span></div>;</pre></td></tr><tr><td class='line-number'><a name='L68' href='#L68'><pre>68</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> state.serialize_field(&quot;op&quot;, &amp;op)<div class='tooltip'><span class='red'>?</span><span class='tooltip-content'>0</span></div>;</pre></td></tr><tr><td class='line-number'><a name='L69' href='#L69'><pre>69</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> state.serialize_field(&quot;d&quot;, d)<div class='tooltip'><span class='red'>?</span><span class='tooltip-content'>0</span></div>;</pre></td></tr><tr><td class='line-number'><a name='L70' href='#L70'><pre>70</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> state.end()</pre></td></tr><tr><td class='line-number'><a name='L71' href='#L71'><pre>71</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> }</pre></td></tr></table></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::write_state::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;, obws::requests::RequestBatch&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::write_state::&lt;_, _&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::write_state::&lt;_, _&gt;</pre></div></div></td></tr><tr><td class='line-number'><a name='L72' href='#L72'><pre>72</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L73' href='#L73'><pre>73</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> match self {</pre></td></tr><tr><td class='line-number'><a name='L74' href='#L74'><pre>74</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> Self::Identify(value) =&gt; write_state(serializer, OpCode::Identify, value),</pre></td></tr><tr><td class='line-number'><a name='L75' href='#L75'><pre>75</pre></a></td><td class='uncovered-line'><pre>0</pre></td><td class='code'><pre> <span class='red'>Self::Reidentify(value) =&gt; write_state(serializer, OpCode::Reidentify, value)</span>,</pre></td></tr><tr><td class='line-number'><a name='L76' href='#L76'><pre>76</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> Self::Request(value) =&gt; write_state(serializer, OpCode::Request, value),</pre></td></tr><tr><td class='line-number'><a name='L77' href='#L77'><pre>77</pre></a></td><td class='uncovered-line'><pre>0</pre></td><td class='code'><pre> <span class='red'>Self::RequestBatch(value) =&gt; write_state(serializer, OpCode::RequestBatch, value)</span>,</pre></td></tr><tr><td class='line-number'><a name='L78' href='#L78'><pre>78</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> }</pre></td></tr><tr><td class='line-number'><a name='L79' href='#L79'><pre>79</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> }</pre><div class='expansion-view'><div class='centered'><table><div class='source-name-title'><pre>&lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;&gt;</pre></div><tr><td><pre>Line</pre></td><td><pre>Count</pre></td><td><pre>Source</pre></td></tr><tr><td class='line-number'><a name='L44' href='#L44'><pre>44</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> fn serialize&lt;S&gt;(&amp;self, serializer: S) -&gt; Result&lt;S::Ok, S::Error&gt;</pre></td></tr><tr><td class='line-number'><a name='L45' href='#L45'><pre>45</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> where</pre></td></tr><tr><td class='line-number'><a name='L46' href='#L46'><pre>46</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> S: serde::Serializer,</pre></td></tr><tr><td class='line-number'><a name='L47' href='#L47'><pre>47</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> {</pre></td></tr><tr><td class='line-number'><a name='L48' href='#L48'><pre>48</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> #[derive(Serialize_repr)]</pre></td></tr><tr><td class='line-number'><a name='L49' href='#L49'><pre>49</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> #[repr(u8)]</pre></td></tr><tr><td class='line-number'><a name='L50' href='#L50'><pre>50</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> enum OpCode {</pre></td></tr><tr><td class='line-number'><a name='L51' href='#L51'><pre>51</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// The message sent by a newly connected client to obs-websocket in response to a</pre></td></tr><tr><td class='line-number'><a name='L52' href='#L52'><pre>52</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// `Hello`.</pre></td></tr><tr><td class='line-number'><a name='L53' href='#L53'><pre>53</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> Identify = 1,</pre></td></tr><tr><td class='line-number'><a name='L54' href='#L54'><pre>54</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// The message sent by an already-identified client to update identification</pre></td></tr><tr><td class='line-number'><a name='L55' href='#L55'><pre>55</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// parameters.</pre></td></tr><tr><td class='line-number'><a name='L56' href='#L56'><pre>56</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> Reidentify = 3,</pre></td></tr><tr><td class='line-number'><a name='L57' href='#L57'><pre>57</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// The message sent by a client to obs-websocket to perform a request.</pre></td></tr><tr><td class='line-number'><a name='L58' href='#L58'><pre>58</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> Request = 6,</pre></td></tr><tr><td class='line-number'><a name='L59' href='#L59'><pre>59</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> /// The message sent by a client to obs-websocket to perform a batch of requests.</pre></td></tr><tr><td class='line-number'><a name='L60' href='#L60'><pre>60</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> RequestBatch = 8,</pre></td></tr><tr><td class='line-number'><a name='L61' href='#L61'><pre>61</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> }</pre></td></tr><tr><td class='line-number'><a name='L62' href='#L62'><pre>62</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L63' href='#L63'><pre>63</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> fn write_state&lt;S&gt;(serializer: S, op: OpCode, d: &amp;impl Serialize) -&gt; Result&lt;S::Ok, S::Error&gt;</pre></td></tr><tr><td class='line-number'><a name='L64' href='#L64'><pre>64</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> where</pre></td></tr><tr><td class='line-number'><a name='L65' href='#L65'><pre>65</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> S: serde::Serializer,</pre></td></tr><tr><td class='line-number'><a name='L66' href='#L66'><pre>66</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> {</pre></td></tr><tr><td class='line-number'><a name='L67' href='#L67'><pre>67</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> let mut state = serializer.serialize_struct(&quot;ClientRequest&quot;, 2)?;</pre></td></tr><tr><td class='line-number'><a name='L68' href='#L68'><pre>68</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> state.serialize_field(&quot;op&quot;, &amp;op)?;</pre></td></tr><tr><td class='line-number'><a name='L69' href='#L69'><pre>69</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> state.serialize_field(&quot;d&quot;, d)?;</pre></td></tr><tr><td class='line-number'><a name='L70' href='#L70'><pre>70</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> state.end()</pre></td></tr><tr><td class='line-number'><a name='L71' href='#L71'><pre>71</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> }</pre></td></tr><tr><td class='line-number'><a name='L72' href='#L72'><pre>72</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L73' href='#L73'><pre>73</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> match self {</pre></td></tr><tr><td class='line-number'><a name='L74' href='#L74'><pre>74</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre> Self::Identify(value) =&gt; write_state(serializer, OpCode::Identify, value),</pre></td></tr><tr><td class='line-number'><a name='L75' href='#L75'><pre>75</pre></a></td><td class='uncovered-line'><pre>0</pre></td><td class='code'><pre> <span class='red'>Self::Reidentify(value) =&gt; write_state(serializer, OpCode::Reidentify, value)</span>,</pre></td></tr><tr><td class='line-number'><a name='L76' href='#L76'><pre>76</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> Self::Request(value) =&gt; write_state(serializer, OpCode::Request, value),</pre></td></tr><tr><td class='line-number'><a name='L77' href='#L77'><pre>77</pre></a></td><td class='uncovered-line'><pre>0</pre></td><td class='code'><pre> <span class='red'>Self::RequestBatch(value) =&gt; write_state(serializer, OpCode::RequestBatch, value)</span>,</pre></td></tr><tr><td class='line-number'><a name='L78' href='#L78'><pre>78</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> }</pre></td></tr><tr><td class='line-number'><a name='L79' href='#L79'><pre>79</pre></a></td><td class='covered-line'><pre>364</pre></td><td class='code'><pre> }</pre></td></tr></table></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::ClientRequest as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div></td></tr><tr><td class='line-number'><a name='L80' href='#L80'><pre>80</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>}</pre></td></tr><tr><td class='line-number'><a name='L81' href='#L81'><pre>81</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L82' href='#L82'><pre>82</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>/// Response to [`crate::responses::ServerMessage::Hello`] message, should contain</pre></td></tr><tr><td class='line-number'><a name='L83' href='#L83'><pre>83</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>/// authentication string if authentication is required, along with Pub-sub subscriptions and other</pre></td></tr><tr><td class='line-number'><a name='L84' href='#L84'><pre>84</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>/// session parameters.</pre></td></tr><tr><td class='line-number'><a name='L85' href='#L85'><pre>85</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>#[skip_serializing_none]</pre></td></tr><tr><td class='line-number'><a name='L86' href='#L86'><pre>86</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre>#[derive(Serialize)]</pre><div class='expansion-view'><div class='centered'><table><div class='source-name-title'><pre>&lt;obws::requests::Identify as serde::ser::Serialize&gt;::serialize::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;&gt;</pre></div><tr><td><pre>Line</pre></td><td><pre>Count</pre></td><td><pre>Source</pre></td></tr><tr><td class='line-number'><a name='L86' href='#L86'><pre>86</pre></a></td><td class='covered-line'><pre>18</pre></td><td class='code'><pre>#[derive(Serialize)]</pre></td></tr></table></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::Identify as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::Identify as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div></td></tr><tr><td class='line-number'><a name='L87' href='#L87'><pre>87</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) struct Identify {</pre></td></tr><tr><td class='line-number'><a name='L88' href='#L88'><pre>88</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Version number that the client would like the obs-websocket server to use.</pre></td></tr><tr><td class='line-number'><a name='L89' href='#L89'><pre>89</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(rename = &quot;rpcVersion&quot;)]</pre></td></tr><tr><td class='line-number'><a name='L90' href='#L90'><pre>90</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub rpc_version: u32,</pre></td></tr><tr><td class='line-number'><a name='L91' href='#L91'><pre>91</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(rename = &quot;authentication&quot;)]</pre></td></tr><tr><td class='line-number'><a name='L92' href='#L92'><pre>92</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub authentication: Option&lt;String&gt;,</pre></td></tr><tr><td class='line-number'><a name='L93' href='#L93'><pre>93</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Bit mask of event subscription items to subscribe to events and event categories at will. By</pre></td></tr><tr><td class='line-number'><a name='L94' href='#L94'><pre>94</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// default, all event categories are subscribed, except for events marked as high volume. High</pre></td></tr><tr><td class='line-number'><a name='L95' href='#L95'><pre>95</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// volume events must be explicitly subscribed to.</pre></td></tr><tr><td class='line-number'><a name='L96' href='#L96'><pre>96</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(rename = &quot;eventSubscriptions&quot;)]</pre></td></tr><tr><td class='line-number'><a name='L97' href='#L97'><pre>97</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub event_subscriptions: Option&lt;EventSubscription&gt;,</pre></td></tr><tr><td class='line-number'><a name='L98' href='#L98'><pre>98</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>}</pre></td></tr><tr><td class='line-number'><a name='L99' href='#L99'><pre>99</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L100' href='#L100'><pre>100</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>/// Sent at any time after initial identification to update the provided session parameters.</pre></td></tr><tr><td class='line-number'><a name='L101' href='#L101'><pre>101</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>#[skip_serializing_none]</pre></td></tr><tr><td class='line-number'><a name='L102' href='#L102'><pre>102</pre></a></td><td class='uncovered-line'><pre>0</pre></td><td class='code'><pre>#[derive(<span class='red'>S</span>erializ<span class='red'>e</span>)]</pre><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::Reidentify as serde::ser::Serialize&gt;::serialize::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::Reidentify as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::Reidentify as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div></td></tr><tr><td class='line-number'><a name='L103' href='#L103'><pre>103</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) struct Reidentify {</pre></td></tr><tr><td class='line-number'><a name='L104' href='#L104'><pre>104</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(rename = &quot;eventSubscriptions&quot;)]</pre></td></tr><tr><td class='line-number'><a name='L105' href='#L105'><pre>105</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub event_subscriptions: Option&lt;EventSubscription&gt;,</pre></td></tr><tr><td class='line-number'><a name='L106' href='#L106'><pre>106</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>}</pre></td></tr><tr><td class='line-number'><a name='L107' href='#L107'><pre>107</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L108' href='#L108'><pre>108</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>/// Client is making a request to obs-websocket. For example get current scene, create source.</pre></td></tr><tr><td class='line-number'><a name='L109' href='#L109'><pre>109</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre>#[derive(Serialize)]</pre><div class='expansion-view'><div class='centered'><table><div class='source-name-title'><pre>&lt;obws::requests::Request as serde::ser::Serialize&gt;::serialize::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;&gt;</pre></div><tr><td><pre>Line</pre></td><td><pre>Count</pre></td><td><pre>Source</pre></td></tr><tr><td class='line-number'><a name='L109' href='#L109'><pre>109</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre>#[derive(Serialize)]</pre></td></tr></table></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::Request as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::Request as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div></td></tr><tr><td class='line-number'><a name='L110' href='#L110'><pre>110</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) struct Request&lt;&apos;a&gt; {</pre></td></tr><tr><td class='line-number'><a name='L111' href='#L111'><pre>111</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(rename = &quot;requestId&quot;)]</pre></td></tr><tr><td class='line-number'><a name='L112' href='#L112'><pre>112</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub request_id: &amp;&apos;a str,</pre></td></tr><tr><td class='line-number'><a name='L113' href='#L113'><pre>113</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(flatten)]</pre></td></tr><tr><td class='line-number'><a name='L114' href='#L114'><pre>114</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub ty: RequestType&lt;&apos;a&gt;,</pre></td></tr><tr><td class='line-number'><a name='L115' href='#L115'><pre>115</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>}</pre></td></tr><tr><td class='line-number'><a name='L116' href='#L116'><pre>116</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L117' href='#L117'><pre>117</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>/// Client is making a batch of requests for obs-websocket. Requests are processed serially</pre></td></tr><tr><td class='line-number'><a name='L118' href='#L118'><pre>118</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>/// (in order) by the server.</pre></td></tr><tr><td class='line-number'><a name='L119' href='#L119'><pre>119</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>#[skip_serializing_none]</pre></td></tr><tr><td class='line-number'><a name='L120' href='#L120'><pre>120</pre></a></td><td class='uncovered-line'><pre>0</pre></td><td class='code'><pre>#[derive(<span class='red'>Seri</span><span class='red'>aliz</span><span class='red'>e</span>)]</pre><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::RequestBatch as serde::ser::Serialize&gt;::serialize::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::RequestBatch as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::RequestBatch as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div></td></tr><tr><td class='line-number'><a name='L121' href='#L121'><pre>121</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) struct RequestBatch&lt;&apos;a&gt; {</pre></td></tr><tr><td class='line-number'><a name='L122' href='#L122'><pre>122</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(rename = &quot;requestId&quot;)]</pre></td></tr><tr><td class='line-number'><a name='L123' href='#L123'><pre>123</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub request_id: &amp;&apos;a str,</pre></td></tr><tr><td class='line-number'><a name='L124' href='#L124'><pre>124</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// When true, the processing of requests will be halted on first failure. Returns only the</pre></td></tr><tr><td class='line-number'><a name='L125' href='#L125'><pre>125</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// processed requests in</pre></td></tr><tr><td class='line-number'><a name='L126' href='#L126'><pre>126</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// [`crate::responses::ServerMessage::RequestBatchResponse`].</pre></td></tr><tr><td class='line-number'><a name='L127' href='#L127'><pre>127</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(rename = &quot;haltOnFailure&quot;)]</pre></td></tr><tr><td class='line-number'><a name='L128' href='#L128'><pre>128</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub halt_on_failure: Option&lt;bool&gt;,</pre></td></tr><tr><td class='line-number'><a name='L129' href='#L129'><pre>129</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(rename = &quot;requests&quot;)]</pre></td></tr><tr><td class='line-number'><a name='L130' href='#L130'><pre>130</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub requests: &amp;&apos;a [RequestType&lt;&apos;a&gt;],</pre></td></tr><tr><td class='line-number'><a name='L131' href='#L131'><pre>131</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(rename = &quot;executionType&quot;)]</pre></td></tr><tr><td class='line-number'><a name='L132' href='#L132'><pre>132</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub execution_type: Option&lt;ExecutionType&gt;,</pre></td></tr><tr><td class='line-number'><a name='L133' href='#L133'><pre>133</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>}</pre></td></tr><tr><td class='line-number'><a name='L134' href='#L134'><pre>134</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L135' href='#L135'><pre>135</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>bitflags! {</pre></td></tr><tr><td class='line-number'><a name='L136' href='#L136'><pre>136</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Bit flags for possible event subscriptions, that can be enabled when connecting to the OBS</pre></td></tr><tr><td class='line-number'><a name='L137' href='#L137'><pre>137</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// instance.</pre></td></tr><tr><td class='line-number'><a name='L138' href='#L138'><pre>138</pre></a></td><td class='uncovered-line'><pre>0</pre></td><td class='code'><pre> #[derive(<span class='red'>Serialize</span>)]</pre><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::EventSubscription as serde::ser::Serialize&gt;::serialize::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::EventSubscription as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::EventSubscription as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div></td></tr><tr><td class='line-number'><a name='L139' href='#L139'><pre>139</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> #[serde(transparent)]</pre></td></tr><tr><td class='line-number'><a name='L140' href='#L140'><pre>140</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> pub struct EventSubscription: u32 {</pre></td></tr><tr><td class='line-number'><a name='L141' href='#L141'><pre>141</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value used to disable all events.</pre></td></tr><tr><td class='line-number'><a name='L142' href='#L142'><pre>142</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const NONE = 0;</pre></td></tr><tr><td class='line-number'><a name='L143' href='#L143'><pre>143</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive events in the `General` category.</pre></td></tr><tr><td class='line-number'><a name='L144' href='#L144'><pre>144</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const GENERAL = 1 &lt;&lt; 0;</pre></td></tr><tr><td class='line-number'><a name='L145' href='#L145'><pre>145</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive events in the `Config` category.</pre></td></tr><tr><td class='line-number'><a name='L146' href='#L146'><pre>146</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const CONFIG = 1 &lt;&lt; 1;</pre></td></tr><tr><td class='line-number'><a name='L147' href='#L147'><pre>147</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive events in the `Scenes` category.</pre></td></tr><tr><td class='line-number'><a name='L148' href='#L148'><pre>148</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const SCENES = 1 &lt;&lt; 2;</pre></td></tr><tr><td class='line-number'><a name='L149' href='#L149'><pre>149</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive events in the `Inputs` category.</pre></td></tr><tr><td class='line-number'><a name='L150' href='#L150'><pre>150</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const INPUTS = 1 &lt;&lt; 3;</pre></td></tr><tr><td class='line-number'><a name='L151' href='#L151'><pre>151</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive events in the `Transitions` category.</pre></td></tr><tr><td class='line-number'><a name='L152' href='#L152'><pre>152</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const TRANSITIONS = 1 &lt;&lt; 4;</pre></td></tr><tr><td class='line-number'><a name='L153' href='#L153'><pre>153</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive events in the `Filters` category.</pre></td></tr><tr><td class='line-number'><a name='L154' href='#L154'><pre>154</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const FILTERS = 1 &lt;&lt; 5;</pre></td></tr><tr><td class='line-number'><a name='L155' href='#L155'><pre>155</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive events in the `Outputs` category.</pre></td></tr><tr><td class='line-number'><a name='L156' href='#L156'><pre>156</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const OUTPUTS = 1 &lt;&lt; 6;</pre></td></tr><tr><td class='line-number'><a name='L157' href='#L157'><pre>157</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive events in the `SceneItems` category.</pre></td></tr><tr><td class='line-number'><a name='L158' href='#L158'><pre>158</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const SCENE_ITEMS = 1 &lt;&lt; 7;</pre></td></tr><tr><td class='line-number'><a name='L159' href='#L159'><pre>159</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive events in the `MediaInputs` category.</pre></td></tr><tr><td class='line-number'><a name='L160' href='#L160'><pre>160</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const MEDIA_INPUTS = 1 &lt;&lt; 8;</pre></td></tr><tr><td class='line-number'><a name='L161' href='#L161'><pre>161</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive the [`VendorEvent`] event.</pre></td></tr><tr><td class='line-number'><a name='L162' href='#L162'><pre>162</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> ///</pre></td></tr><tr><td class='line-number'><a name='L163' href='#L163'><pre>163</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// [`VendorEvent`]: crate::events::Event::VendorEvent</pre></td></tr><tr><td class='line-number'><a name='L164' href='#L164'><pre>164</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const VENDORS = 1 &lt;&lt; 9;</pre></td></tr><tr><td class='line-number'><a name='L165' href='#L165'><pre>165</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive events in the `Ui` category.</pre></td></tr><tr><td class='line-number'><a name='L166' href='#L166'><pre>166</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const UI = 1 &lt;&lt; 10;</pre></td></tr><tr><td class='line-number'><a name='L167' href='#L167'><pre>167</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L168' href='#L168'><pre>168</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Helper to receive all non-high-volume events.</pre></td></tr><tr><td class='line-number'><a name='L169' href='#L169'><pre>169</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const ALL = Self::GENERAL.bits</pre></td></tr><tr><td class='line-number'><a name='L170' href='#L170'><pre>170</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> | Self::CONFIG.bits</pre></td></tr><tr><td class='line-number'><a name='L171' href='#L171'><pre>171</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> | Self::SCENES.bits</pre></td></tr><tr><td class='line-number'><a name='L172' href='#L172'><pre>172</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> | Self::INPUTS.bits</pre></td></tr><tr><td class='line-number'><a name='L173' href='#L173'><pre>173</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> | Self::TRANSITIONS.bits</pre></td></tr><tr><td class='line-number'><a name='L174' href='#L174'><pre>174</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> | Self::FILTERS.bits</pre></td></tr><tr><td class='line-number'><a name='L175' href='#L175'><pre>175</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> | Self::OUTPUTS.bits</pre></td></tr><tr><td class='line-number'><a name='L176' href='#L176'><pre>176</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> | Self::SCENE_ITEMS.bits</pre></td></tr><tr><td class='line-number'><a name='L177' href='#L177'><pre>177</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> | Self::MEDIA_INPUTS.bits</pre></td></tr><tr><td class='line-number'><a name='L178' href='#L178'><pre>178</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> | Self::VENDORS.bits</pre></td></tr><tr><td class='line-number'><a name='L179' href='#L179'><pre>179</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> | Self::UI.bits;</pre></td></tr><tr><td class='line-number'><a name='L180' href='#L180'><pre>180</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L181' href='#L181'><pre>181</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive the [`InputVolumeMeters`] high-volume event.</pre></td></tr><tr><td class='line-number'><a name='L182' href='#L182'><pre>182</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> ///</pre></td></tr><tr><td class='line-number'><a name='L183' href='#L183'><pre>183</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// [`InputVolumeMeters`]: crate::events::Event::InputVolumeMeters</pre></td></tr><tr><td class='line-number'><a name='L184' href='#L184'><pre>184</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const INPUT_VOLUME_METERS = 1 &lt;&lt; 16;</pre></td></tr><tr><td class='line-number'><a name='L185' href='#L185'><pre>185</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive the [`InputActiveStateChanged`] high-volume event.</pre></td></tr><tr><td class='line-number'><a name='L186' href='#L186'><pre>186</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> ///</pre></td></tr><tr><td class='line-number'><a name='L187' href='#L187'><pre>187</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// [`InputActiveStateChanged`]: crate::events::Event::InputActiveStateChanged</pre></td></tr><tr><td class='line-number'><a name='L188' href='#L188'><pre>188</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const INPUT_ACTIVE_STATE_CHANGED = 1 &lt;&lt; 17;</pre></td></tr><tr><td class='line-number'><a name='L189' href='#L189'><pre>189</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive the [`InputShowStateChanged`] high-volume event.</pre></td></tr><tr><td class='line-number'><a name='L190' href='#L190'><pre>190</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> ///</pre></td></tr><tr><td class='line-number'><a name='L191' href='#L191'><pre>191</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// [`InputShowStateChanged`]: crate::events::Event::InputShowStateChanged</pre></td></tr><tr><td class='line-number'><a name='L192' href='#L192'><pre>192</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const INPUT_SHOW_STATE_CHANGED = 1 &lt;&lt; 18;</pre></td></tr><tr><td class='line-number'><a name='L193' href='#L193'><pre>193</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Subscription value to receive the [`SceneItemTransformChanged`] high-volume event.</pre></td></tr><tr><td class='line-number'><a name='L194' href='#L194'><pre>194</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> ///</pre></td></tr><tr><td class='line-number'><a name='L195' href='#L195'><pre>195</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// [`SceneItemTransformChanged`]: crate::events::Event::SceneItemTransformChanged</pre></td></tr><tr><td class='line-number'><a name='L196' href='#L196'><pre>196</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> const SCENE_ITEM_TRANSFORM_CHANGED = 1 &lt;&lt; 19;</pre></td></tr><tr><td class='line-number'><a name='L197' href='#L197'><pre>197</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L198' href='#L198'><pre>198</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> }</pre></td></tr><tr><td class='line-number'><a name='L199' href='#L199'><pre>199</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>}</pre></td></tr><tr><td class='line-number'><a name='L200' href='#L200'><pre>200</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L201' href='#L201'><pre>201</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>#[allow(dead_code)]</pre></td></tr><tr><td class='line-number'><a name='L202' href='#L202'><pre>202</pre></a></td><td class='uncovered-line'><pre>0</pre></td><td class='code'><pre>#[derive(<span class='red'>S</span>erialize_rep<span class='red'>r</span>)]</pre><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::ExecutionType as serde::ser::Serialize&gt;::serialize::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::ExecutionType as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::ExecutionType as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div></td></tr><tr><td class='line-number'><a name='L203' href='#L203'><pre>203</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>#[repr(i8)]</pre></td></tr><tr><td class='line-number'><a name='L204' href='#L204'><pre>204</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) enum ExecutionType {</pre></td></tr><tr><td class='line-number'><a name='L205' href='#L205'><pre>205</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// Not a request batch.</pre></td></tr><tr><td class='line-number'><a name='L206' href='#L206'><pre>206</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> None = -1,</pre></td></tr><tr><td class='line-number'><a name='L207' href='#L207'><pre>207</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// A request batch which processes all requests serially, as fast as possible.</pre></td></tr><tr><td class='line-number'><a name='L208' href='#L208'><pre>208</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> SerialRealtime = 0,</pre></td></tr><tr><td class='line-number'><a name='L209' href='#L209'><pre>209</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// A request batch type which processes all requests serially, in sync with the graphics</pre></td></tr><tr><td class='line-number'><a name='L210' href='#L210'><pre>210</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// thread. Designed to provide high accuracy for animations.</pre></td></tr><tr><td class='line-number'><a name='L211' href='#L211'><pre>211</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> SerialFrame = 1,</pre></td></tr><tr><td class='line-number'><a name='L212' href='#L212'><pre>212</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// A request batch type which processes all requests using all available threads in the thread</pre></td></tr><tr><td class='line-number'><a name='L213' href='#L213'><pre>213</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> /// pool.</pre></td></tr><tr><td class='line-number'><a name='L214' href='#L214'><pre>214</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Parallel = 2,</pre></td></tr><tr><td class='line-number'><a name='L215' href='#L215'><pre>215</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>}</pre></td></tr><tr><td class='line-number'><a name='L216' href='#L216'><pre>216</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L217' href='#L217'><pre>217</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>pub(crate) enum RequestType&lt;&apos;a&gt; {</pre></td></tr><tr><td class='line-number'><a name='L218' href='#L218'><pre>218</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Config(self::config::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L219' href='#L219'><pre>219</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Filters(self::filters::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L220' href='#L220'><pre>220</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> General(self::general::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L221' href='#L221'><pre>221</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Hotkeys(self::hotkeys::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L222' href='#L222'><pre>222</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Inputs(self::inputs::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L223' href='#L223'><pre>223</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> MediaInputs(self::media_inputs::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L224' href='#L224'><pre>224</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Outputs(self::outputs::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L225' href='#L225'><pre>225</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Profiles(self::profiles::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L226' href='#L226'><pre>226</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Recording(self::recording::Request),</pre></td></tr><tr><td class='line-number'><a name='L227' href='#L227'><pre>227</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> ReplayBuffer(self::replay_buffer::Request),</pre></td></tr><tr><td class='line-number'><a name='L228' href='#L228'><pre>228</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> SceneCollections(self::scene_collections::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L229' href='#L229'><pre>229</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> SceneItems(self::scene_items::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L230' href='#L230'><pre>230</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Scenes(self::scenes::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L231' href='#L231'><pre>231</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Sources(self::sources::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L232' href='#L232'><pre>232</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Streaming(self::streaming::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L233' href='#L233'><pre>233</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Transitions(self::transitions::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L234' href='#L234'><pre>234</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> Ui(self::ui::Request&lt;&apos;a&gt;),</pre></td></tr><tr><td class='line-number'><a name='L235' href='#L235'><pre>235</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> VirtualCam(self::virtual_cam::Request),</pre></td></tr><tr><td class='line-number'><a name='L236' href='#L236'><pre>236</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>}</pre></td></tr><tr><td class='line-number'><a name='L237' href='#L237'><pre>237</pre></a></td><td class='uncovered-line'></td><td class='code'><pre></pre></td></tr><tr><td class='line-number'><a name='L238' href='#L238'><pre>238</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>impl&lt;&apos;a&gt; Serialize for RequestType&lt;&apos;a&gt; {</pre></td></tr><tr><td class='line-number'><a name='L239' href='#L239'><pre>239</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> fn serialize&lt;S&gt;(&amp;self, serializer: S) -&gt; Result&lt;S::Ok, S::Error&gt;</pre></td></tr><tr><td class='line-number'><a name='L240' href='#L240'><pre>240</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> where</pre></td></tr><tr><td class='line-number'><a name='L241' href='#L241'><pre>241</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> S: serde::Serializer,</pre></td></tr><tr><td class='line-number'><a name='L242' href='#L242'><pre>242</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> {</pre></td></tr><tr><td class='line-number'><a name='L243' href='#L243'><pre>243</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> match self {</pre></td></tr><tr><td class='line-number'><a name='L244' href='#L244'><pre>244</pre></a></td><td class='covered-line'><pre>7</pre></td><td class='code'><pre> Self::Config(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L245' href='#L245'><pre>245</pre></a></td><td class='covered-line'><pre>29</pre></td><td class='code'><pre> Self::Filters(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L246' href='#L246'><pre>246</pre></a></td><td class='covered-line'><pre>21</pre></td><td class='code'><pre> Self::General(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L247' href='#L247'><pre>247</pre></a></td><td class='covered-line'><pre>3</pre></td><td class='code'><pre> Self::Hotkeys(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L248' href='#L248'><pre>248</pre></a></td><td class='covered-line'><pre>38</pre></td><td class='code'><pre> Self::Inputs(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L249' href='#L249'><pre>249</pre></a></td><td class='covered-line'><pre>4</pre></td><td class='code'><pre> Self::MediaInputs(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L250' href='#L250'><pre>250</pre></a></td><td class='covered-line'><pre>8</pre></td><td class='code'><pre> Self::Outputs(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L251' href='#L251'><pre>251</pre></a></td><td class='covered-line'><pre>27</pre></td><td class='code'><pre> Self::Profiles(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L252' href='#L252'><pre>252</pre></a></td><td class='covered-line'><pre>27</pre></td><td class='code'><pre> Self::Recording(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L253' href='#L253'><pre>253</pre></a></td><td class='covered-line'><pre>25</pre></td><td class='code'><pre> Self::ReplayBuffer(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L254' href='#L254'><pre>254</pre></a></td><td class='covered-line'><pre>4</pre></td><td class='code'><pre> Self::SceneCollections(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L255' href='#L255'><pre>255</pre></a></td><td class='covered-line'><pre>20</pre></td><td class='code'><pre> Self::SceneItems(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L256' href='#L256'><pre>256</pre></a></td><td class='covered-line'><pre>69</pre></td><td class='code'><pre> Self::Scenes(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L257' href='#L257'><pre>257</pre></a></td><td class='covered-line'><pre>3</pre></td><td class='code'><pre> Self::Sources(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L258' href='#L258'><pre>258</pre></a></td><td class='covered-line'><pre>1</pre></td><td class='code'><pre> Self::Streaming(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L259' href='#L259'><pre>259</pre></a></td><td class='covered-line'><pre>9</pre></td><td class='code'><pre> Self::Transitions(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L260' href='#L260'><pre>260</pre></a></td><td class='covered-line'><pre>28</pre></td><td class='code'><pre> Self::Ui(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L261' href='#L261'><pre>261</pre></a></td><td class='covered-line'><pre>23</pre></td><td class='code'><pre> Self::VirtualCam(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L262' href='#L262'><pre>262</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> }</pre></td></tr><tr><td class='line-number'><a name='L263' href='#L263'><pre>263</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> }</pre><div class='expansion-view'><div class='centered'><table><div class='source-name-title'><pre>&lt;obws::requests::RequestType as serde::ser::Serialize&gt;::serialize::&lt;serde::__private::ser::FlatMapSerializer&lt;serde_json::ser::Compound&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;, serde_json::ser::CompactFormatter&gt;&gt;&gt;</pre></div><tr><td><pre>Line</pre></td><td><pre>Count</pre></td><td><pre>Source</pre></td></tr><tr><td class='line-number'><a name='L239' href='#L239'><pre>239</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> fn serialize&lt;S&gt;(&amp;self, serializer: S) -&gt; Result&lt;S::Ok, S::Error&gt;</pre></td></tr><tr><td class='line-number'><a name='L240' href='#L240'><pre>240</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> where</pre></td></tr><tr><td class='line-number'><a name='L241' href='#L241'><pre>241</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> S: serde::Serializer,</pre></td></tr><tr><td class='line-number'><a name='L242' href='#L242'><pre>242</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> {</pre></td></tr><tr><td class='line-number'><a name='L243' href='#L243'><pre>243</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> match self {</pre></td></tr><tr><td class='line-number'><a name='L244' href='#L244'><pre>244</pre></a></td><td class='covered-line'><pre>7</pre></td><td class='code'><pre> Self::Config(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L245' href='#L245'><pre>245</pre></a></td><td class='covered-line'><pre>29</pre></td><td class='code'><pre> Self::Filters(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L246' href='#L246'><pre>246</pre></a></td><td class='covered-line'><pre>21</pre></td><td class='code'><pre> Self::General(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L247' href='#L247'><pre>247</pre></a></td><td class='covered-line'><pre>3</pre></td><td class='code'><pre> Self::Hotkeys(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L248' href='#L248'><pre>248</pre></a></td><td class='covered-line'><pre>38</pre></td><td class='code'><pre> Self::Inputs(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L249' href='#L249'><pre>249</pre></a></td><td class='covered-line'><pre>4</pre></td><td class='code'><pre> Self::MediaInputs(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L250' href='#L250'><pre>250</pre></a></td><td class='covered-line'><pre>8</pre></td><td class='code'><pre> Self::Outputs(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L251' href='#L251'><pre>251</pre></a></td><td class='covered-line'><pre>27</pre></td><td class='code'><pre> Self::Profiles(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L252' href='#L252'><pre>252</pre></a></td><td class='covered-line'><pre>27</pre></td><td class='code'><pre> Self::Recording(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L253' href='#L253'><pre>253</pre></a></td><td class='covered-line'><pre>25</pre></td><td class='code'><pre> Self::ReplayBuffer(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L254' href='#L254'><pre>254</pre></a></td><td class='covered-line'><pre>4</pre></td><td class='code'><pre> Self::SceneCollections(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L255' href='#L255'><pre>255</pre></a></td><td class='covered-line'><pre>20</pre></td><td class='code'><pre> Self::SceneItems(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L256' href='#L256'><pre>256</pre></a></td><td class='covered-line'><pre>69</pre></td><td class='code'><pre> Self::Scenes(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L257' href='#L257'><pre>257</pre></a></td><td class='covered-line'><pre>3</pre></td><td class='code'><pre> Self::Sources(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L258' href='#L258'><pre>258</pre></a></td><td class='covered-line'><pre>1</pre></td><td class='code'><pre> Self::Streaming(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L259' href='#L259'><pre>259</pre></a></td><td class='covered-line'><pre>9</pre></td><td class='code'><pre> Self::Transitions(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L260' href='#L260'><pre>260</pre></a></td><td class='covered-line'><pre>28</pre></td><td class='code'><pre> Self::Ui(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L261' href='#L261'><pre>261</pre></a></td><td class='covered-line'><pre>23</pre></td><td class='code'><pre> Self::VirtualCam(req) =&gt; req.serialize(serializer),</pre></td></tr><tr><td class='line-number'><a name='L262' href='#L262'><pre>262</pre></a></td><td class='uncovered-line'></td><td class='code'><pre> }</pre></td></tr><tr><td class='line-number'><a name='L263' href='#L263'><pre>263</pre></a></td><td class='covered-line'><pre>346</pre></td><td class='code'><pre> }</pre></td></tr></table></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::RequestType as serde::ser::Serialize&gt;::serialize::&lt;&amp;mut serde_json::ser::Serializer&lt;&amp;mut alloc::vec::Vec&lt;u8&gt;&gt;&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::RequestType as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div><div class='expansion-view'><div class='source-name-title'><pre>Unexecuted instantiation: &lt;obws::requests::RequestType as serde::ser::Serialize&gt;::serialize::&lt;_&gt;</pre></div></div></td></tr><tr><td class='line-number'><a name='L264' href='#L264'><pre>264</pre></a></td><td class='uncovered-line'></td><td class='code'><pre>}</pre></td></tr></table></div></body></html>