File Coverage

blib/lib/Net/Clacks.pm
Criterion Covered Total %
statement 47 47 100.0
branch n/a
condition n/a
subroutine 16 16 100.0
pod n/a
total 63 63 100.0


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