File Coverage

blib/lib/Net/Clacks.pm
Criterion Covered Total %
statement 41 41 100.0
branch n/a
condition n/a
subroutine 14 14 100.0
pod n/a
total 55 55 100.0


line stmt bran cond sub pod time code
1             package Net::Clacks;
2             #---AUTOPRAGMASTART---
3 1     1   56712 use 5.020;
  1         3  
4 1     1   4 use strict;
  1         1  
  1         16  
5 1     1   3 use warnings;
  1         2  
  1         29  
6 1     1   545 use diagnostics;
  1         181192  
  1         9  
7 1     1   263 use mro 'c3';
  1         2  
  1         8  
8 1     1   591 use English;
  1         3063  
  1         5  
9 1     1   383 use Carp;
  1         2  
  1         57  
10             our $VERSION = 22;
11 1     1   430 use autodie qw( close );
  1         12903  
  1         4  
12 1     1   655 use Array::Contains;
  1         770  
  1         47  
13 1     1   488 use utf8;
  1         13  
  1         5  
14 1     1   810 use Encode qw(is_utf8 encode_utf8 decode_utf8);
  1         8361  
  1         58  
15             #---AUTOPRAGMAEND---
16              
17 1     1   468 use Net::Clacks::Client;
  1         3  
  1         36  
18 1     1   519 use Net::Clacks::Server;
  1         3  
  1         36  
19 1     1   405 use Net::Clacks::ClacksCache;
  1         2  
  1         46  
20              
21             1;
22              
23             =head1 NAME
24              
25             Net::Clacks - Fast client/server interprocess messaging and memcached replacement
26              
27             =head1 SYNOPSIS
28              
29             The Net::Clacks system implements a fast client/server based interprocess messaging. For
30             handling a high number of clients, you can run multiple servers in a master/slave configuration.
31             A slave can also run itself as master for it's own slaves, so a tree-like setup is possible.
32              
33             =head1 DESCRIPTION
34              
35             The Net::Clacks system implements a fast client/server based interprocess messaging. For
36             handling a high number of clients, you can run multiple servers in a master/slave configuration.
37             A slave can also run itself as master for it's own slaves, so a tree-like setup is possible.
38              
39             Clacks has two ways to handle data. One is (near) real time messaging, the other is storing in
40             memory (as a replacement for memcached).
41              
42             Clacks has also a DEBUG feature that forwards all messages to a requesting client.
43              
44             The Net::Clacks system implements a fast client/server based interprocess messaging. For
45             handling a high number of clients, you can run multiple servers in a master/slave configuration.
46             A slave can also run itself as master for it's own slaves, so a tree-like setup is possible. This
47             is implemented by using Interclacks mode via OVERHEAD mode setting.
48              
49             =head1 MODULES
50              
51             The server is implemented in L.
52              
53             The client library in L.
54              
55             A more Cache::Memcached compatible client library (caching only, no real time communication) is implemented
56             in the L module.
57              
58             Please also take a look at the examples, this implements a simple chat client.
59              
60              
61             =head1 IMPORTANT UPGRADE NOTES
62              
63             Please make sure to read L before upgrading to a new Net::Clacks version.
64              
65             =head1 AUTHOR
66              
67             Rene Schickbauer, Ecavac@cpan.orgE
68              
69             =head1 Source code repository
70              
71             The official source code repository is located at:
72             L
73              
74             =head1 COPYRIGHT AND LICENSE
75              
76             Copyright (C) 2008-2022 Rene Schickbauer
77              
78             This library is free software; you can redistribute it and/or modify
79             it under the same terms as Perl itself, either Perl version 5.10.0 or,
80             at your option, any later version of Perl 5 you may have available.
81              
82             =cut
83