Dominik Miedziński
f4f49c6dd3
Ignore CTCP PINGs without timestamps
2017-03-15 17:11:19 +01:00
Aaron Weiss
1fd5668def
Removed optional encoding feature, forcing encoding always. Temporarily
...
purged SSL support.
2017-01-15 13:31:50 -05:00
Dominik Miedziński
e13f94e0c2
Rejoin all channels on reconnect ( fixes #55 )
2016-09-24 23:22:20 +02:00
Aaron Weiss
5b8f320050
Implemented channel keys for autojoined channels ( fixes #51 ).
2016-07-05 16:21:21 -04:00
ChanMin Kim
bba8648252
Changed ping timeout logic in ping thread
...
Previously, ping thread might enter infinite reconnect loop.
Consider the following scenario.
1. If at least one ping is sent, last_ping_data is updated.
2. Then there are many activities, so should_ping() becomes false.
3. After some seconds, now().to_timespec() - time > strong.ping_timeout_duration() is satisfied.
4. reconnect()
5. But should_ping() is still false.
6. The condition is still satisfied, so reconnect() again and again.
I made several changes.
Followings are the changes in the code
- Handle PONG message from server.
- Add `waiting_pong_reply' flag in the state. The flag is set if ping is
sent but the corresponding pong did not arrive yet.
- Ping thread checks ping timeout in correct way.
- Sleeping duration for ping is now based on idle time.
- Initialize ping related fields when `reconnect()' is called.
Hopefully, this commit may be related to issue #50 .
2016-07-05 06:55:30 +09:00
Aaron Weiss
e450621a57
Removed unnecessary parentheses.
2016-04-11 23:00:50 -04:00
Aaron Weiss
85e30e6f9f
Added a bounds check on handle_ctcp.
2016-04-11 22:59:20 -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
angelsl
46f9136c93
Write directly from threads (through a mutex) instead of using a writing thread
...
The writing thread now becomes a simple pinging thread. The pinging
thread will exit when the weak reference to the ServerState can no
longer be upgraded i.e. when the ServerState has been dropped i.e. when
the IrcServer has been dropped.
This fixes #43 as well.
This is the first in a series of changes that will reduce allocations by
the library.
2016-02-17 23:25:01 -05:00
Aaron Weiss
7d7e09fa8e
Removed incomplete doc comment.
2016-02-12 11:30:55 -05:00
Aaron Weiss
e7b5d5e9d1
Made some formatting changes for readability.
2016-02-12 11:21:00 -05:00
Aaron Weiss
33123f4695
Fixed bug that caused user modes to be sent incorrectly when an
...
alternate nickname was in use.
2016-02-10 15:46:42 -05: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
3314c93c3e
Implemented a major redesign to simplify API and eliminate
...
overly-complicated generics usage.
2016-02-10 00:15:08 -05:00
angelsl
5f20e715fd
Add NickServ GHOST functionality
2016-02-09 18:41:52 +08:00
Aaron Weiss
20338f881f
Renamed getter functions to not include get as is common practice.
2016-01-30 12:00:25 -05:00
Aaron Weiss
2eb0e63d59
Performed the great Command redesign ( fixes #16 ).
2016-01-30 04:56:32 -05:00
Aaron Weiss
e7e83c3ab8
Added regression test for nochanlists.
2016-01-19 15:27:58 -05:00
Aaron Weiss
bf9bd3ecb8
Fixed bug in nochanlists from handle_message rewrite.
2016-01-19 15:23:09 -05:00
Aaron Weiss
81518bf244
Rewrote internal message handling in more modern Rust.
2016-01-18 00:18:28 -05:00
Aaron Weiss
8a2ce65e71
Added extract_writer function for use in unit tests.
2016-01-16 12:51:44 -05:00
Aaron Weiss
8113c47842
Fixed test execution.
2016-01-16 11:47:25 -05:00
Aaron Weiss
f34a6ba5cf
Fixed implementation of auto-reconnection by updating message sending to
...
use the write queue.
2016-01-16 11:15:10 -05:00
Aaron Weiss
3dc15449a8
Implemented ping-sending on inactivity.
2016-01-15 12:37:16 -05:00
Aaron Weiss
9ac625c091
Implemented internal auto-reconnection for servers.
2016-01-13 17:02:39 -05:00
Aaron Weiss
33004abc12
Fixed a bug with the drop behavior for IrcServer.
2016-01-03 08:32:45 -05:00
Aaron Weiss
6ece3e25fe
Moved to using an internal sending channel for messages.
2016-01-03 07:51:10 -05:00
Aaron Weiss
ea0577bbaf
Implemented Clone for IrcServer and updated multithreaded examples
...
accordingly.
2016-01-03 05:39:44 -05:00
Aaron Weiss
a6cd761e51
Moved Arc abstraction internally for IrcServer.
2016-01-03 05:35:00 -05:00
Peter Atashian
ca7233fe1b
Fix #36
...
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-10-14 21:56:13 -04:00
Aaron Weiss
c372403ed5
Made iterator types well-formed to respond to RFC 1214 changes.
2015-10-09 13:21:11 -04:00
Aaron Weiss
05186cf670
Removed trailing whitespace.
2015-06-22 12:03:57 -04:00
Aaron Weiss
83c38931bf
Added Sized bounds on Self to make Server and ServerExt object-safe.
2015-06-16 16:04:37 -04:00
Aaron Weiss
a03e09264e
Added username and hostname parsing to User to better support
...
userhost-in-name extension.
2015-06-05 22:19:37 -04:00
Aaron Weiss
f3a2417f6a
Simplified config loading API with AsRef<Path>.
2015-06-05 21:37:21 -04:00
Aaron Weiss
3805c7c914
Added support for IRCv3.1 extended-join.
2015-05-21 22:55:49 -04:00
Aaron Weiss
7bf6bf48e1
Enhanced documentation for user tracking API.
2015-05-21 22:33:14 -04:00
Aaron Weiss
fcca39a98d
Fixed test compilation.
2015-04-26 00:11:51 -04:00
Aaron Weiss
87f3b65649
Replaced ToMessage with Into<Message>.
2015-04-26 00:01:33 -04:00
Aaron Weiss
42454939d7
Servers now send any ToMessage type.
2015-04-25 23:13:33 -04:00
Aaron Weiss
2505cc5784
Removed stability attributes.
2015-04-24 02:10:05 -04:00
Aaron Weiss
c26d297e62
Eliminated feature use for beta.
2015-04-04 23:06:13 -04:00
Aaron Weiss
23fa48d41e
Updated for Rust master.
2015-04-03 00:56:42 -04:00
Aaron Weiss
a23fcd6ba2
Updated for latest Rust.
2015-03-26 21:50:38 -04:00
Aaron Weiss
b7912ee592
Fixed warnings on Rust master.
2015-03-21 23:08:41 -04:00
Aaron Weiss
8bc8b946f7
Migrated to new std::io.
2015-03-02 17:12:16 -05:00
Aaron Weiss
3274cf1107
Changed from split_str to split.
2015-02-26 21:52:42 -05:00
Aaron Weiss
27839902ad
Converted Wrapper to ServerExt as per #19 . Fixes #5 , too.
2015-02-24 10:10:22 -05:00
Filipe Gonçalves
04dccf5ce2
Added Command iterator. Added a test and a use case example.
2015-02-23 23:57:13 +00:00
Filipe Gonçalves
a43db2b5da
Refactored Command to own its data. Updated tests and examples.
2015-02-23 20:02:52 +00:00