ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/Net-XMPP2/lib/Net/XMPP2.pm
Revision: 1.9
Committed: Tue Apr 24 18:11:09 2007 UTC (19 years, 6 months ago) by elmex
Branch: MAIN
Changes since 1.8: +4 -39 lines
Log Message:
removed extension mechanisms which don't seem neccessary
to me anymore. noone wants XMPP without the XEPs (at least not me).

File Contents

# User Rev Content
1 elmex 1.1 package Net::XMPP2;
2     use warnings;
3     use strict;
4    
5     =head1 NAME
6    
7     Net::XMPP2 - An implementation of the XMPP Protocol
8    
9     =head1 VERSION
10    
11     Version 0.01
12    
13     =cut
14    
15     our $VERSION = '0.01';
16    
17     =head1 SYNOPSIS
18    
19 elmex 1.2 use Net::XMPP2::Connection;
20 elmex 1.1
21 elmex 1.2 or:
22 elmex 1.1
23 elmex 1.2 use Net::XMPP2::IM::Connection;
24 elmex 1.1
25 elmex 1.2 =head1 DESCRIPTION
26    
27     This is the head module of the L<Net::XMPP2> XMPP client protocol (as described in
28 elmex 1.4 RFC 3920 and RFC 3921) framework.
29 elmex 1.2
30 elmex 1.4 L<Net::XMPP2::Connection> is a RFC 3920 conformant "XML" stream implementation
31 elmex 1.5 for clients, which handles tcp connect up to the resource binding. And provides
32     low-level access to the XML nodes on the XML stream along with some high
33     level methods to send the predefined XML stanzas.
34 elmex 1.2
35 elmex 1.4 L<Net::XMPP2::IM::Connection> is a more highlevel module, which is derived
36     from L<Net::XMPP2::Connection>. It handles all the instant messaging client
37 elmex 1.5 functionality described in RFC 3921.
38    
39 elmex 1.9 For a list of L<Supportet extensions> see below.
40 elmex 1.2
41     There are also other modules in this distribution, for example:
42     L<Net::XMPP2::Util>, L<Net::XMPP2::Writer>, L<Net::XMPP2::Parser> and those i
43     forgot :-) Those modules might be helpful and/or required if you want to use
44     this framework for XMPP.
45    
46     See also L<Net::XMPP2::Writer> for a discussion about the brokeness of XML in the XMPP
47     specification.
48    
49     =head1 Why (yet) another XMPP module?
50    
51     The main outstanding feature of this module in comparsion to the other XMPP
52     (aka Jabber) modules out there is the support for L<AnyEvent>. L<AnyEvent>
53     permits you to use this module together with other I/O event based programs and
54     libraries (ie. L<Gtk2> or L<Event>).
55    
56     The other modules could often only be integrated in those applications or librarys
57 elmex 1.4 by using threads. I decided to write this module because i think CPAN lacks
58     an event based XMPP module. Threads are unfortunately not an alternative in Perl
59     at the moment due the limited threading functionality they provide and the global
60     speed hit. I also think that a simple event based I/O framework might be a bit easier
61     to handle than threads.
62 elmex 1.2
63     Another thing was that I didn't like the APIs of the other modules. In L<Net::XMPP2>
64 elmex 1.9 I try to provide low level modules for speaking XMPP as defined in RFC 3920 and RFC 3921
65     (see also L<Net::XMPP2::Connection> and L<Net::XMPP2::IM::Connection>). But I also
66     try to provide a high level API for easier usage for instant messaging tasks and clients.
67 elmex 1.2
68     =head1 A note about TLS
69    
70     This module also supports TLS, as the specification of XMPP requires an
71 elmex 1.7 implementation to support TLS.
72 elmex 1.2
73     There are maybe still some bugs in the handling of TLS in L<Net::XMPP2::Connection>.
74 elmex 1.7 So keep an eye on TLS with this module. If you encounter any problems it would be
75     very helpful if you could debug them or at least send me a detailed report on how
76     to reproduce the problem.
77    
78     (As I use this module myself I don't expect TLS to be completly broken, but it
79     might break under different circumstances than I have here. Those
80     circumstances might be a different load of data pumped through the TLS
81     connection.)
82 elmex 1.1
83 elmex 1.2 I mainly expect problems where aviable data isn't properly read from the socket
84     or written to it. You might want to take a look at the C<debug_send> and C<debug_recv>
85     events in L<Net::XMPP2::Connection>.
86 elmex 1.1
87 elmex 1.4 =head1 Supportet extensions
88 elmex 1.3
89     This is the list of supported XMPP extensions:
90    
91     =over 4
92    
93     =item XEP-0086 - Error Condition Mappings
94    
95     "A mapping to enable legacy entities to correctly handle errors from XMPP-aware entities."
96    
97     This extension will enable sending of the old error codes when generating a stanza
98     error with for example: L<Net::XMPP2::Writer::write_error_tag>
99    
100 elmex 1.8 =item XEP-0077 - In-Band Registration
101    
102     This extension lets you register new accounts "in-band".
103     To use this look at the description of the C<register> option to the C<new>
104     method of L<Net::XMPP2::Connection>.
105    
106 elmex 1.3 =back
107    
108     =cut
109    
110 elmex 1.1 =head1 AUTHOR
111    
112     Robin Redeker, C<< <elmex at ta-sa.org> >>
113    
114     =head1 BUGS
115    
116     Please report any bugs or feature requests to
117     C<bug-net-xmpp2 at rt.cpan.org>, or through the web interface at
118     L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-XMPP2>.
119     I will be notified, and then you'll automatically be notified of progress on
120     your bug as I make changes.
121    
122     =head1 SUPPORT
123    
124     You can find documentation for this module with the perldoc command.
125    
126     perldoc Net::XMPP2
127    
128     You can also look for information at:
129    
130     =over 4
131    
132     =item * AnnoCPAN: Annotated CPAN documentation
133    
134     L<http://annocpan.org/dist/Net-XMPP2>
135    
136     =item * CPAN Ratings
137    
138     L<http://cpanratings.perl.org/d/Net-XMPP2>
139    
140     =item * RT: CPAN's request tracker
141    
142     L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-XMPP2>
143    
144     =item * Search CPAN
145    
146     L<http://search.cpan.org/dist/Net-XMPP2>
147    
148     =back
149    
150     =head1 ACKNOWLEDGEMENTS
151    
152     =head1 COPYRIGHT & LICENSE
153    
154     Copyright 2007 Robin Redeker, all rights reserved.
155    
156     This program is free software; you can redistribute it and/or modify it
157     under the same terms as Perl itself.
158    
159     =cut
160    
161     1; # End of Net::XMPP2