File Coverage

blib/lib/ZMQ/Raw/Message.pm
Criterion Covered Total %
statement 27 29 93.1
branch 4 6 66.6
condition 1 3 33.3
subroutine 7 8 87.5
pod n/a
total 39 46 84.7


line stmt bran cond sub pod time code
1             package ZMQ::Raw::Message;
2             $ZMQ::Raw::Message::VERSION = '0.39';
3 14     29   97 use strict;
  14         28  
  14         411  
4 14     21   72 use warnings;
  14         25  
  14         316  
5 14     21   68 use Carp;
  14         25  
  14         695  
6 14     14   75 use ZMQ::Raw;
  14         43  
  14         2201  
7              
8             sub AUTOLOAD
9             {
10             # This AUTOLOAD is used to 'autoload' constants from the constant()
11             # XS function.
12              
13 7     7   2045 my $constname;
14 7         11 our $AUTOLOAD;
15 7         53 ($constname = $AUTOLOAD) =~ s/.*:://;
16 7 50 33     58 croak "&ZMQ::Raw::Message::_constant not defined" if ($constname eq '_o_constant' || $constname eq '_p_constant');
17 7         69 my ($error, $val) = _o_constant ($constname);
18 7 100       23 if ($error)
19             {
20 5         23 ($error, $val) = _p_constant ($constname);
21 5 50       19 if ($error)
22             {
23 0         0 croak $error;
24             }
25             }
26             {
27 14     14   105 no strict 'refs';
  14         28  
  14         1539  
  7         9  
28 7     8   51 *$AUTOLOAD = sub { $val };
  8         61  
29             }
30 7         30 goto &$AUTOLOAD;
31             }
32              
33 0     0     sub CLONE_SKIP { 1 }
34              
35             =head1 NAME
36              
37             ZMQ::Raw::Message - ZeroMQ Message class
38              
39             =head1 VERSION
40              
41             version 0.39
42              
43             =head1 DESCRIPTION
44              
45             A L represents a ZeroMQ message.
46              
47             =head1 SYNOPSIS
48              
49             use ZMQ::Raw;
50              
51             my $msg = ZMQ::Raw::Message->new;
52             $msg->data ('hello');
53              
54             $socket->sendmsg ($msg);
55              
56             =head1 METHODS
57              
58             =head2 new( )
59              
60             Create a new empty ZeroMQ message.
61              
62             =head2 clone( )
63              
64             Create a copy of a ZeroMQ message.
65              
66             =head2 data ([$data])
67              
68             Retrieve or set the message data.
69              
70             =head2 more( )
71              
72             Check if this message is part of a multi-part message, and if there are further
73             parts to be received.
74              
75             =head2 size( )
76              
77             Get the size in bytes of the content of the messsage.
78              
79             =head2 routing_id( [$id] )
80              
81             Get or set the routing id of the socket. To get a valid routing id, you must
82             receive a message from a C socket.
83              
84             =head2 group( [$group] )
85              
86             Get or set the group socket.
87              
88             =head2 get( $property )
89              
90             Get the value of C<$property>.
91              
92             =head2 gets( $property )
93              
94             Get metadata property.
95              
96             =head1 CONSTANTS
97              
98             =head2 ZMQ_MORE
99              
100             =head2 ZMQ_SHARED
101              
102             =head2 ZMQ_MSG_PROPERTY_ROUTING_ID
103              
104             =head2 ZMQ_MSG_PROPERTY_SOCKET_TYPE
105              
106             =head2 ZMQ_MSG_PROPERTY_USER_ID
107              
108             =head2 ZMQ_MSG_PROPERTY_PEER_ADDRESS
109              
110             =head1 AUTHOR
111              
112             Jacques Germishuys
113              
114             =head1 LICENSE AND COPYRIGHT
115              
116             Copyright 2017 Jacques Germishuys.
117              
118             This program is free software; you can redistribute it and/or modify it
119             under the terms of either: the GNU General Public License as published
120             by the Free Software Foundation; or the Artistic License.
121              
122             See http://dev.perl.org/licenses/ for more information.
123              
124             =cut
125              
126             1; # End of ZMQ::Raw::Message