Commit graph

51 commits

Author SHA1 Message Date
John-John Tedro
549e2e8722 Port to tokio 0.2 2019-12-18 21:06:04 +01:00
Aaron Weiss
0b7a7a0f02
fixup! Merge branch 'develop' into 0.14 2019-06-06 13:41:30 -04:00
Aaron Weiss
c383c6241e
Merge branch 'develop' into 0.14 2019-06-06 13:40:55 -04:00
jesopo
379a2db9fa Update source_response test 2019-05-18 23:08:08 +01:00
jesopo
9dbb04431a Don't send an empty CTCP SOURCE response 2019-05-18 22:51:55 +01:00
John-John Tedro
f02362c782 Mark Future in PackedIrcClient as Send + 'static 2019-03-17 11:52:48 +01:00
David Blajda
199f591e78 Handle the case of a single SOH in PRIVMSG 2019-01-03 19:33:17 +00:00
Christoph Herzog
e112efe7dd Add 'Send' bound for PackedClient client future.
The Future is Send anyway, but this bound on the Box is neccessary
to use the future across threads because the compiler can't figure
out the Send bound otherwise.
2018-10-04 18:20:41 +02:00
Christoph Herzog
2aff64b645 Refactor IrcClientFuture and ConnectionFuture to own the config
This commit refactors IrcClientFuture and ConnectionFuture to own
the config instead of holding a reference.

This is required for reconnecting in dynamic contexts.
This is not possible with the old API, because Config is a reference,
requiring the value to live for the whole execution of the reactor.
2018-10-04 02:52:53 +02:00
Douman
23112f7582 Clean up tokio-core 2018-09-22 23:43:47 +03:00
Aaron Weiss
53fb890a7e
Merged develop onto 0.14 (which was tricky, and this might have introduced bugs?). 2018-09-17 17:50:53 -04:00
Eunchong Yu
12003c880c Remove deprecated AsciiExt 2018-08-19 08:50:38 +09:00
Ratys
bdeb7054b3 Removed PackedIrcClient, IrcClientFuture:
They are redundant now, and are dead code;

Cleaned up unused imports.
2018-06-08 22:18:40 +03:00
Ratys
5275e79971 Rewrote conn module to utilize impl Future in return position:
Changed all involved structs to take `Config`s, rather than borrow them - this is due to `'static` requirement that is bound to crop up somewhere, when spawning a future into a reactor/runtime.

Updated examples and docs to reflect the change.
2018-06-08 22:00:49 +03:00
Ratys
bfb8bf5a1b Partial rewrite to utilize impl Future in return position:
Changed return types relevant methods of `conn` module; no implementation changes;

Rewrote relevant methods of `reactor` and `client`.
2018-06-08 17:25:57 +03:00
Ratys
b5a575966f Partially moved from tokio_core to tokio, removed handle args:
Migrated `conn` and `client` modules to `tokio` types;

Removed `handle` arguments and fields in `reactor`, `conn` and `client` modules;

Removed unused imports of `Handle`, updated doctest.
2018-06-08 17:24:26 +03:00
Aaron Weiss
0e53b979bc
Added a bunch of additional comments and documentation to irc::client. 2018-05-05 16:01:59 +02:00
Aaron Weiss
0235c71268
Added current nickname tracking (fixes #125). [BREAKING] 2018-05-05 15:12:29 +02:00
Aaron Weiss
845ca63416
Track users who are kicked out of channels (fixes #127). 2018-03-31 15:39:02 +02:00
Aaron Weiss
cef0462859
Added a regression test for sending raw messages (see #128). 2018-03-31 15:39:02 +02:00
Aaron Weiss
7680227222
Sanitize messages later to stop the problematic round-trip parsing. 2018-03-31 15:39:01 +02:00
Aaron Weiss
363629f400
Changed ClientExt to be more generic. 2018-02-18 22:54:24 +01:00
Aaron Weiss
c91d14a949
Fixed a small bug when using nochanlists. 2018-02-18 21:13:01 +01:00
Aaron Weiss
cabe0919c8
Cleaned up a bit of testing code. 2018-02-12 20:58:50 +01:00
Emīls Piņķis
a8cdf1ecfc Add error type for when there are no valid nicks 2018-02-12 19:16:00 +00:00
Aaron Weiss
4c26dfc3cd
Reverted a7ae091 because it caused a regression (resolves #112). 2018-01-29 14:04:41 +01:00
Aaron Weiss
59f426ac8d
Cleaned up tests and documentation after the big renaming. 2018-01-28 03:19:05 +01:00
Aaron Weiss
87b84fdeb9
Changed naming scheme from server to client (resolves #46). 2018-01-28 02:16:50 +01:00
Aaron Weiss
9c574b00c0
Moved prelude module into its own file. 2018-01-28 02:02:45 +01:00
Aaron Weiss
fd4e5706eb
Added more documentation for IrcReactor, and made new_future internal-only. 2018-01-27 19:26:48 +01:00
Aaron Weiss
bbc6b0244d
Added an experimental reactor API to hide tokio. 2018-01-08 21:52:56 -05:00
Aaron Weiss
2564e6b060
Added a bunch of detail about the high-level client API to the prelude. 2017-12-24 21:50:43 -05:00
Aaron Weiss
52035bd31e
Added EachIncomingExt to prelude. 2017-06-25 05:02:27 -04:00
Aaron Weiss
bd5253016e
Added ChannelExt to prelude. 2017-06-25 04:47:09 -04:00
Aaron Weiss
1030f51b46
Improved top-level module documentation. 2017-06-22 16:04:09 -04:00
Aaron Weiss
eecbe1630c
Refactored Mode API into its own module and added it to prelude. 2017-06-22 14:15:55 -04:00
Aaron Weiss
c0af567258
Cleaned up imports and prelude. 2017-06-21 22:14:15 -04:00
Aaron Weiss
073b82feec
Replaced old conn.rs with async.rs. 2017-06-21 16:55:37 -04:00
Aaron Weiss
c363dc7837
Migrated real IrcServer API to be async based on experiment. 2017-06-21 16:53:28 -04:00
Aaron Weiss
7d3e923de8
Added a first real cut at async. 2017-06-21 13:18:22 -04:00
Aaron Weiss
52027f7834 Fixed compilation of test cases and made API changes for testing where
necessary.
2016-02-10 12:00:25 -05:00
Aaron Weiss
05186cf670 Removed trailing whitespace. 2015-06-22 12:03:57 -04:00
Aaron Weiss
e1abb935b1 Added CAP LS with negotiation version API for IRCv3.2. 2015-05-22 23:55:20 -04:00
Aaron Weiss
be7b7d3233 Added Capability for a type-safe IRCv3 CAP REQ API. 2015-05-21 22:33:14 -04:00
Aaron Weiss
87f3b65649 Replaced ToMessage with Into<Message>. 2015-04-26 00:01:33 -04:00
Aaron Weiss
2505cc5784 Removed stability attributes. 2015-04-24 02:10:05 -04:00
Aaron Weiss
8bc8b946f7 Migrated to new std::io. 2015-03-02 17:12:16 -05:00
Aaron Weiss
27839902ad Converted Wrapper to ServerExt as per #19. Fixes #5, too. 2015-02-24 10:10:22 -05:00
Aaron Weiss
5a801df82f Added ToMessage to Prelude. 2015-02-23 23:11:11 -05:00
Aaron Weiss
1828c16766 Added a client prelude. 2015-02-22 21:18:57 -05:00