Commit graph

1545 commits

Author SHA1 Message Date
lumi
367234ba83 Merge branch 'quick_xml' into 'master'
Replace xml-rs by quick_xml

See merge request !11
2017-06-10 15:32:22 +00:00
Bastien Orivel
9cec9fce9b Replace xml-rs by quick_xml
quick_xml is way faster than xml-rs

Here is an example with a quick atom parser:
    With xml-rs:
        test parse_factorio_atom ... bench:   3,295,678 ns/iter (+/- 165,851)
    With quick_xml:
        test parse_factorio_atom ... bench:     203,215 ns/iter (+/- 13,485)

Unfortunately I had to break the API for this change to happen.
* Element::from_reader now takes `R: BufRead` instead of `R: Read`
* Element::write_to now takes `W: io::Write` instead of `EventWriter<W: Write>`

This migration also allow us to have a write_to function which assumes
we're already in a given namespace (see `write_to_in_namespace`).
2017-06-10 17:17:19 +02:00
Emmanuel Gil Peyrot
88a3f507f6 idle, delay: Don’t import * from chrono::prelude. 2017-06-08 22:46:27 +02:00
Astro
0bae1ce336 switch from rustls to native-tls 2017-06-06 02:03:38 +02:00
Astro
52c60229e3 client_auth: add stream restart 2017-06-06 01:38:48 +02:00
Astro
f8de49569f add client_auth using sasl 2017-06-06 01:29:20 +02:00
Astro
c32a38874c refactor into stream_start + xmpp_stream 2017-06-05 02:50:22 +02:00
Astro
98e7a2fbf4 starttls: parameterize TcpStream 2017-06-05 00:45:16 +02:00
Astro
a618acd6d6 starttls works 2017-06-05 00:42:35 +02:00
Astro
482bf77955 tidy up 2017-06-04 02:05:15 +02:00
Astro
288930bcd4 reorg 2017-06-04 01:37:46 +02:00
Astro
0a34c6c71f fix stanza events 2017-06-03 02:26:44 +02:00
Astro
aece3798c1 XMPPCodec Input shall be just one Packet 2017-06-03 02:17:12 +02:00
Astro
005013f37c this kinda works 2017-06-03 01:58:31 +02:00
Astro
212d9e7e7e this ain't work 2017-06-02 00:42:57 +02:00
Maxime “pep” Buquet
bd19341f69 Muc <x xmlns='http://jabber.org/protocol/muc#user'/> and <status /> parser 2017-05-31 02:54:47 +01:00
Maxime “pep” Buquet
c4c6528197 Muc <x xmlns='http://jabber.org/protocol/muc'/> parser 2017-05-30 22:02:56 +01:00
Emmanuel Gil Peyrot
33994c1042 hashes: Implement Eq and Hash. 2017-05-29 05:14:49 +01:00
lumi
4be13c1c01 Merge branch 'gen_id' into 'master'
Add a gen_id method for plugins to generate ids

See merge request !19
2017-05-29 03:59:13 +00:00
Emmanuel Gil Peyrot
785f717f91 make use of the gen_id() method in relevant plugins 2017-05-29 04:51:01 +01:00
Emmanuel Gil Peyrot
8839c4eea8 add a gen_id method for plugins to generate ids 2017-05-29 04:47:44 +01:00
lumi
6421899c29 Merge branch 'get_own_jid' into 'master'
Add a get_own_jid method to plugins

See merge request !17
2017-05-29 02:54:00 +00:00
Emmanuel Gil Peyrot
08ba164073 roster: Add a test for empty name == no name. 2017-05-29 03:42:11 +01:00
Emmanuel Gil Peyrot
7395e4b88f roster: Make an empty name be None instead.
RFC 6121 §2.4.1:
“Implementation Note: Including an empty 'name' attribute is equivalent
to including no 'name' attribute; both actions set the name to the
empty string.”
2017-05-29 03:40:34 +01:00
Emmanuel Gil Peyrot
b09eb078f4 add a get_own_jid method to plugins 2017-05-29 03:14:26 +01:00
Emmanuel Gil Peyrot
073e208f06 iq: Wire up Roster. 2017-05-28 17:12:46 +01:00
Emmanuel Gil Peyrot
9eb8f39a38 presence: Make Show handle the None case, and rename PresenceType to Type. 2017-05-28 17:10:12 +01:00
Emmanuel Gil Peyrot
32bfa84551 presence: Rename Available to None, since that’s what it is. 2017-05-28 16:33:43 +01:00
Emmanuel Gil Peyrot
aae435c4d9 Add a roster parser/serialiser. 2017-05-28 16:30:43 +01:00
lumi
f10080cba5 Merge branch 'disco' into 'master'
Add a disco plugin

See merge request !11
2017-05-28 01:47:00 +00:00
Emmanuel Gil Peyrot
4871ec668d make IbbPlugin add its feature to DiscoPlugin 2017-05-28 02:39:54 +01:00
Emmanuel Gil Peyrot
4c937ccfc0 make PingPlugin add its feature to DiscoPlugin 2017-05-28 02:39:54 +01:00
Emmanuel Gil Peyrot
990519f7b6 add a disco plugin 2017-05-28 02:39:54 +01:00
lumi
976a3d2eb8 Merge branch 'messaging' into 'master'
Rewrite the messaging plugin

See merge request !14
2017-05-28 01:38:57 +00:00
Emmanuel Gil Peyrot
6c073aca3c rewrite the messaging plugin 2017-05-28 02:27:31 +01:00
lumi
1b2e4aca21 Merge branch 'update-xmpp-parsers' into 'master'
Update xmpp-parsers, needed by pending PRs

See merge request !16
2017-05-28 01:25:55 +00:00
Emmanuel Gil Peyrot
d4c118bad9 update xmpp-parsers, needed by pending PRs 2017-05-28 01:50:08 +01:00
Emmanuel Gil Peyrot
28eb4ff4ea Added tag v0.4.0 for changeset cca02eef486e 2017-05-28 01:49:05 +01:00
Emmanuel Gil Peyrot
fcfe1888e2 Release version 0.4.0. 2017-05-28 01:48:03 +01:00
Emmanuel Gil Peyrot
07fbc0adf1 ChangeLog: Add version 0.4.0. 2017-05-28 01:47:32 +01:00
Emmanuel Gil Peyrot
ee34bc1a86 jingle_s5b: Remove unused .to_owned() during serialisation. 2017-05-28 01:47:12 +01:00
lumi
d6a9e6e9ea implement ToAttributeValue on integral types, bump version 2017-05-28 00:25:57 +02:00
Emmanuel Gil Peyrot
6794b34714 Cargo.toml: Update minidom to 0.4.3 to use its new IntoAttributeValue implementation on numbers. 2017-05-27 23:18:15 +01:00
lumi
4166751828 bump version to 0.4.2 2017-05-28 00:02:26 +02:00
lumi
28d17381c6 Merge branch 'u32-u16-u8' into 'master'
Implement IntoAttributeValue for u32, u16 and u8

See merge request !10
2017-05-27 22:00:54 +00:00
Emmanuel Gil Peyrot
638866fa4c implement IntoAttributeValue for u32, u16 and u8 2017-05-27 22:56:17 +01:00
lumi
8f4361c8b1 Merge branch 'usize' into 'master'
Implement IntoAttributeValue for usize

See merge request !9
2017-05-27 21:53:23 +00:00
lumi
8ba7a332c1 Merge branch 'propagation' into 'master'
Fix some propagation issues

See merge request !15
2017-05-27 21:51:58 +00:00
Emmanuel Gil Peyrot
d63c7b991d implement IntoAttributeValue for usize 2017-05-27 22:45:22 +01:00
Emmanuel Gil Peyrot
a8c64e1d4a fix some propagation issues 2017-05-27 22:44:59 +01:00