The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
This file was generated by Devel::Cover Version 0.99
Devel::Cover is copyright 2001-2012, Paul Johnson (paul@pjcj.net)
Devel::Cover is free. It is licensed under the same terms as Perl itself.
The latest version of Devel::Cover should be available from my homepage:
http://www.pjcj.net
-->
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
    <meta http-equiv="Content-Language" content="en-us"></meta>
    <link rel="stylesheet" type="text/css" href="cover.css"></link>
    <link rel="stylesheet" type="text/css" href="cover.css"></link>
    <title>File Coverage: lib/ZMQx/Class.pm</title>
</head>
<body>
<h1>File Coverage</h1>
<table>
<tr><td class="h" align="right">File:</td><td align="left">lib/ZMQx/Class.pm</td></tr>
<tr><td class="h" align="right">Coverage:</td><td align="left" class="c2">94.8%</td></tr>
</table>
<div><br/></div>
<table>
<tr><th>line</th><th>stmt</th><th>bran</th><th>cond</th><th>sub</th><th>time</th><th>code</th></tr>
<tr><td class="h">1</td><td></td><td></td><td></td><td></td><td></td><td class="s">package ZMQx::Class;</td></tr>
<tr><td class="h">2</td><td><div class="c3">8</div><div class="c3">8</div><div class="c3">8</div></td><td></td><td></td><td><div class="c3"><a href="lib-ZMQx-Class-pm--subroutine.html#L2">8</a></div></td><td><div>288898</div><div>13</div><div>157</div></td><td class="s">use strict;</td></tr>
<tr><td class="h">3</td><td><div class="c3">8</div><div class="c3">8</div><div class="c3">8</div></td><td></td><td></td><td><div class="c3"><a href="lib-ZMQx-Class-pm--subroutine.html#L3">8</a></div></td><td><div>16</div><div>7</div><div>102</div></td><td class="s">use warnings;</td></tr>
<tr><td class="h">4</td><td><div class="c3">8</div><div class="c3">8</div><div class="c3">8</div></td><td></td><td></td><td><div class="c3"><a href="lib-ZMQx-Class-pm--subroutine.html#L4">8</a></div></td><td><div>147</div><div>19</div><div>156</div></td><td class="s">use 5.010;</td></tr>
<tr><td class="h">5</td><td><div class="c3">8</div><div class="c3">8</div><div class="c3">8</div></td><td></td><td></td><td><div class="c3"><a href="lib-ZMQx-Class-pm--subroutine.html#L5">8</a></div></td><td><div>1019</div><div>10</div><div>171</div></td><td class="s">use ZMQx::Class::Socket;</td></tr>
<tr><td class="h">6</td><td><div class="c3">8</div><div class="c3">8</div><div class="c3">8</div></td><td></td><td></td><td><div class="c3"><a href="lib-ZMQx-Class-pm--subroutine.html#L6">8</a></div></td><td><div>23</div><div>5</div><div>343</div></td><td class="s">use Carp qw(croak);</td></tr>
<tr><td class="h">7</td><td colspan="6"></td></tr><tr><td class="h">8</td><td></td><td></td><td></td><td></td><td></td><td class="s">our $VERSION = &quot;0.002&quot;;</td></tr>
<tr><td class="h">9</td><td></td><td></td><td></td><td></td><td></td><td class="s"># ABSTRACT: OO Interface to ZMQ</td></tr>
<tr><td class="h">10</td><td></td><td></td><td></td><td></td><td></td><td class="s">my $__CONTEXT;</td></tr>
<tr><td class="h">11</td><td colspan="6"></td></tr><tr><td class="h">12</td><td><div class="c3">8</div><div class="c3">8</div><div class="c3">8</div></td><td></td><td></td><td><div class="c3"><a href="lib-ZMQx-Class-pm--subroutine.html#L12">8</a></div></td><td><div>38</div><div>38</div><div>337</div></td><td class="s">use ZMQ::LibZMQ3 qw(zmq_socket zmq_init);</td></tr>
<tr><td class="h">13</td><td><div class="c3">8</div><div class="c3">8</div><div class="c3">8</div></td><td></td><td></td><td><div class="c3"><a href="lib-ZMQx-Class-pm--subroutine.html#L13">8</a></div></td><td><div>17</div><div>7</div><div>119</div></td><td class="s">use ZMQ::Constants qw(ZMQ_REQ ZMQ_REP ZMQ_DEALER ZMQ_ROUTER ZMQ_PULL ZMQ_PUSH ZMQ_PUB ZMQ_SUB  ZMQ_XPUB ZMQ_XSUB ZMQ_PAIR);</td></tr>
<tr><td class="h">14</td><td colspan="6"></td></tr><tr><td class="h">15</td><td></td><td></td><td></td><td></td><td></td><td class="s">my %types = (</td></tr>
<tr><td class="h">16</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;REQ&#39;=&gt;ZMQ_REQ,</td></tr>
<tr><td class="h">17</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;REP&#39;=&gt;ZMQ_REP,</td></tr>
<tr><td class="h">18</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;DEALER&#39;=&gt;ZMQ_DEALER,</td></tr>
<tr><td class="h">19</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;ROUTER&#39;=&gt;ZMQ_ROUTER,</td></tr>
<tr><td class="h">20</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;PULL&#39;=&gt;ZMQ_PULL,</td></tr>
<tr><td class="h">21</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;PUSH&#39;=&gt;ZMQ_PUSH,</td></tr>
<tr><td class="h">22</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;PUB&#39;=&gt;ZMQ_PUB,</td></tr>
<tr><td class="h">23</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;SUB&#39;=&gt;ZMQ_SUB,</td></tr>
<tr><td class="h">24</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;XPUB&#39;=&gt;ZMQ_XPUB,</td></tr>
<tr><td class="h">25</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;XSUB&#39;=&gt;ZMQ_XSUB,</td></tr>
<tr><td class="h">26</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&#39;PAIR&#39;=&gt;ZMQ_PAIR,</td></tr>
<tr><td class="h">27</td><td></td><td></td><td></td><td></td><td></td><td class="s">);</td></tr>
<tr><td class="h">28</td><td colspan="6"></td></tr><tr><td class="h">29</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub new_context {</td></tr>
<tr><td class="h">30</td><td><div class="c3">8</div></td><td></td><td></td><td><div class="c3"><a href="lib-ZMQx-Class-pm--subroutine.html#L30">8</a></div></td><td><div>10</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $class = shift;</td></tr>
<tr><td class="h">31</td><td><div class="c3">8</div></td><td></td><td></td><td></td><td><div>3303</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return zmq_init();</td></tr>
<tr><td class="h">32</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">33</td><td colspan="6"></td></tr><tr><td class="h">34</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub context {</td></tr>
<tr><td class="h">35</td><td><div class="c3">8</div></td><td></td><td></td><td><div class="c3"><a href="lib-ZMQx-Class-pm--subroutine.html#L35">8</a></div></td><td><div>1006159</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $class = shift;</td></tr>
<tr><td class="h">36</td><td><div class="c3">8</div></td><td></td><td><div class="c0"><a href="lib-ZMQx-Class-pm--condition.html#L36">33</a></div></td><td></td><td><div>56</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $__CONTEXT //= $class-&gt;new_context(@_);</td></tr>
<tr><td class="h">37</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">38</td><td colspan="6"></td></tr><tr><td class="h">39</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub socket {</td></tr>
<tr><td class="h">40</td><td><div class="c3">52</div></td><td></td><td></td><td><div class="c3"><a href="lib-ZMQx-Class-pm--subroutine.html#L40">52</a></div></td><td><div>58063</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my ($class, $context, $type, $connect, $address ) = @_;</td></tr>
<tr><td class="h">41</td><td><div class="c3">52</div></td><td><div class="c3" title="T/F"><a href="lib-ZMQx-Class-pm--branch.html#L41">100</a></div></td><td></td><td></td><td><div>153</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;croak &quot;no such socket type: $type&quot; unless defined $types{$type};</td></tr>
<tr><td class="h">42</td><td><div class="c3">50</div></td><td></td><td></td><td></td><td><div>3206</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $socket = ZMQx::Class::Socket-&gt;new(</td></tr>
<tr><td class="h">43</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;socket =&gt; zmq_socket($context,$types{$type}),</td></tr>
<tr><td class="h">44</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type   =&gt; $type,</td></tr>
<tr><td class="h">45</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;);</td></tr>
<tr><td class="h">46</td><td><div class="c3">50</div></td><td><div class="c3" title="T/F"><a href="lib-ZMQx-Class-pm--branch.html#L46">100</a></div></td><td><div class="c0"><a href="lib-ZMQx-Class-pm--condition.html#L46">67</a></div></td><td></td><td><div>58652</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;if ($connect &amp;&amp; $address) {</td></tr>
<tr><td class="h">47</td><td><div class="c3">26</div></td><td><div class="c3" title="T/F"><a href="lib-ZMQx-Class-pm--branch.html#L47">100</a></div><div class="c3" title="T/F"><a href="lib-ZMQx-Class-pm--branch.html#L47">100</a></div></td><td></td><td></td><td><div>63</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($connect eq &#39;bind&#39;) {</td></tr>
<tr><td class="h">48</td><td><div class="c3">12</div></td><td></td><td></td><td></td><td><div>122</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$socket-&gt;bind($address);</td></tr>
<tr><td class="h">49</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">50</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elsif ($connect eq &#39;connect&#39;) {</td></tr>
<tr><td class="h">51</td><td><div class="c3">12</div></td><td></td><td></td><td></td><td><div>119</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$socket-&gt;connect($address);</td></tr>
<tr><td class="h">52</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">53</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else {</td></tr>
<tr><td class="h">54</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>34</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;croak &quot;no such connect type: $connect&quot;;</td></tr>
<tr><td class="h">55</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">56</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">57</td><td><div class="c3">48</div></td><td></td><td></td><td></td><td><div>494</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return $socket;</td></tr>
<tr><td class="h">58</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">59</td><td colspan="6"></td></tr><tr><td class="h">60</td><td></td><td></td><td></td><td></td><td></td><td class="s">1;</td></tr>
</table>
</body>
</html>