Commit graph

93 commits

Author SHA1 Message Date
John-John Tedro
def1442e5e Upgrade to Tokio 1.0 2020-12-29 09:59:39 +01:00
Aaron Weiss
5968edd355
migrate all the examples and tests to freenode 2020-07-23 13:41:01 -04:00
Théo Gaillard
67e61e0606
feature: add TLS as feature and support multiples TLS backends (currently native-tls and rustls) 2020-03-31 09:48:57 +08:00
Théo Gaillard
5bf3909d46
feature: add proxy config 2020-03-04 22:00:48 +08:00
Aaron Weiss
bbc99b1d20
Merge pull request #199 from belak/fix-suffix-handling
Handle suffix as a plain param
2020-01-31 13:21:10 -05:00
Kaleb Elwert
f785d15b4c Handle suffix as a plain param 2020-01-30 16:25:52 -08:00
Kaleb Elwert
14e1f845f3 Add features to travis.yml 2020-01-29 15:09:10 -08:00
John-John Tedro
5189b69e7e Simplify Config structure
This simplifies some of the `Config` structure, in particular this
means:

Parameters which are meaningfully equivalent longer stored in
an `Option<T>`, an example of this is `channels`. If you don't
want to join any channels you simply leave it as empty instead.
In effect, `None` is behaviorally equivalent to `vec![]`.

We don't allocate when accessing certain configuration options.
For example, when accessing `channels` we used to allocate a
vector to handle the "empty case", we simply return the slice
corresponding to the list of channels instead.

We skip serializing empty or optional configuration fields.
From a deserialization perspective this is already something
that was mostly supported through use of `Option<T>` and
`#[serde(default)]`.
2019-12-27 17:12:46 +01:00
John-John Tedro
549e2e8722 Port to tokio 0.2 2019-12-18 21:06:04 +01: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
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
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
Aaron Weiss
0235c71268
Added current nickname tracking (fixes #125). [BREAKING] 2018-05-05 15:12:29 +02: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
af72e57c5f
Cleaned up a bunch of the examples. 2018-01-28 02:00:04 +01:00
Aaron Weiss
7a1d1d2af6
Added a reactor version of the simple example. 2018-01-28 01:50:39 +01:00
Aaron Weiss
e4d441695e
Merge branch 'use-failure' into develop 2018-01-28 01:16:38 +01:00
Aaron Weiss
90276b63b0
Removed multiserver examples, and renamed nothreads to multiserver. 2018-01-28 01:03:49 +01:00
Aaron Weiss
5266e4098d
Refactored the whole crate to use failure. 2018-01-28 00:52:11 +01:00
Aaron Weiss
495e419de0
Added some documentation to the reactor examples. 2018-01-24 12:28:07 +01:00
Aaron Weiss
233eab6969
Added an example that reconnects on error using IrcReactor. 2018-01-09 15:02:57 -05:00
Aaron Weiss
47bbf38497
Removed nothreads_alt because that behavior is the default with reactors. 2018-01-08 23:50:41 -05:00
Aaron Weiss
bbc6b0244d
Added an experimental reactor API to hide tokio. 2018-01-08 21:52:56 -05:00
Aaron Weiss
6821fd4853
Added another nothreads example where we join on all servers. 2018-01-02 11:49:38 -05:00
Aaron Weiss
a0d0d3e249
Cleaned up a bunch of code with clippy. 2018-01-01 22:25:25 -05:00
Aaron Weiss
e446ff5042
Added a repeater example demonstrating message throttling. 2018-01-01 21:20:36 -05:00
Aaron Weiss
e220e90c58
Added the ability to create a new IrcServer without spawning a thread. 2017-08-15 14:00:32 -04:00
Aaron Weiss
c749146d5c
Added support for toml and yaml configurations. 2017-06-29 00:31:27 -07:00
Aaron Weiss
971745ca33
Added a multiserver example supporting an arbitrary number of servers. 2017-06-25 05:36:58 -04:00
Aaron Weiss
c93d817735
Added a multiserver example. 2017-06-25 05:24:10 -04:00
Aaron Weiss
b4893377a6
Updated examples because of new for_each_incoming return type. 2017-06-25 05:00:44 -04:00
Aaron Weiss
536521e349
Fixed bug with SSL domain verification. 2017-06-21 23:35:00 -04:00
Aaron Weiss
8c9a1aca2c
Added for_each_incoming helper to Server. 2017-06-21 22:07:53 -04:00
Aaron Weiss
d57bb11994
Changed examples to be formatted more readibly. 2017-06-21 21:54:48 -04:00
Aaron Weiss
3369ef5ff2
Cleaned up code and added documentation. 2017-06-21 17:15:30 -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
36eeca7db6
Changed examples to point to #irc-crate. 2017-06-19 14:46:34 -04:00
Aaron Weiss
a4f1675394
Made the multithreaded example actually do something. 2017-06-19 14:08:43 -04:00
Aaron Weiss
f0f0b95038
Ran rustfmt on all the code. 2017-06-19 13:59:26 -04:00
Aaron Weiss
388628d62a
Applied a bunch of clippy lints. 2017-06-19 13:46:01 -04:00
Aaron Weiss
863946ecb8 Implemented Display for Message. 2016-03-17 21:39:58 -04:00
Aaron Weiss
e4495940fc Made a whole lot of linting changes to improve code.
Small API changes:
  1. Message::into_string -> Message:to_string
  2. NetStream::UnsecuredTcpStream -> NetStream::Unsecured
  3. NetStream::SslTcpStream -> NetStream::Ssl
2016-03-17 21:35:35 -04:00
Aaron Weiss
b6ce088693 Updated examples after Command redesign. 2016-01-30 05:00:16 -05:00
Aaron Weiss
aefd2108c5 Removed autoreconnect example because it now happens automatically. 2016-01-23 11:00:27 -05:00
Aaron Weiss
ea0577bbaf Implemented Clone for IrcServer and updated multithreaded examples
accordingly.
2016-01-03 05:39:44 -05:00
Aaron Weiss
11a54445b7 Removed deprecated code. 2015-11-22 16:26:43 -05:00
Aaron Weiss
05186cf670 Removed trailing whitespace. 2015-06-22 12:03:57 -04:00
Aaron Weiss
81b3e58d52 Replaced Command::from_message with a From<&Message> implementation. 2015-06-05 21:27:15 -04:00