Chris Smith
2c12fac16c
Dependency updates
Switch Travis to JDK12
Switch to SecureRandom() instead of getStrongInstance() to avoid
blocking hideously.
hace 5 años
Chris Smith
cd293318a5
Fix occasional buffer overflow on TLS connections
Closes #16
hace 5 años
Chris Smith
28c9400250
Add some TLS tests, fix a leaky buffer
hace 5 años
Chris Smith
622e2e2539
Tidy up and reduce copying of byte buffers
hace 5 años
Chris Smith
9cd759d547
Fix various disconnection issues, 1.0.1.
hace 5 años
Chris Smith
51b19e41b5
Rework TLS buffers to avoid overflowing.
If we're keeping some bytes in the line buffer waiting for a
CR/LF, the SSLEngine may not have enough room to put a packet's
worth of data in.
Instead of managing a single buffer, keep a channel of them
and emit a complete buffer each read call.
hace 5 años
Chris Smith
f1ecbf256f
Prefer IPv6, default to TLS
hace 5 años
Chris Smith
96449f98a1
Replace ktor with plain socket code.
Closes #14
hace 5 años
Chris Smith
eacdf03763
Fix handling of long lines.
If we multiple long lines in succession the start index got
miscalculated and part of the latter lines discarded.
hace 5 años
Chris Smith
070d502463
Initial work on exposing async methods
Move message processors into their own package
Update ktor
hace 5 años
Chris Smith
b9a36acc64
Use processors as a map, don't iterate them every line.
hace 5 años
Chris Smith
92c642e550
Add BATCH support
Closes #11
hace 5 años
Chris Smith
0117d981a2
Event mutators
hace 5 años
Chris Smith
5033040325
Add some topic events (no state yet)
Move handlers to their own packages
Update JUnit
hace 5 años
Chris Smith
dd87752527
Handle server connection errors
Fix regression with capability negotiation
hace 5 años
Chris Smith
e64b705412
Improve couroutines and channel use in the socket
hace 5 años
Chris Smith
74dd02ca3a
Rework how writing lines works, again.
To preserve the order of lines we offer them into a channel
without suspending. If we launch a new coroutine there's no
guarantee they'll execute in order, even if the method they
call is fair.
hace 5 años
Chris Smith
4d1b35fa8a
Fix concurrency issue writing lines, bump to 0.3.1
hace 5 años
Chris Smith
1ee6e69673
Documentation
hace 5 años
Chris Smith
ca4397505b
More debugging, add weird networking info to README
hace 5 años
Chris Smith
812ec4990b
Better server state handling
Expose status (connecting, negotiating, ready)
Fire ServerReady and ServerConnected events
hace 5 años
Chris Smith
c6b0471761
Raise ServerConnected event, track status nicely
hace 5 años
Chris Smith
580a351dda
More documentation and tidying
hace 5 años
Chris Smith
1eb9259e30
Document IrcClient, make lots of things internal.
hace 5 años
Chris Smith
3686c5aa2d
Rework coroutines to make more sense.
hace 5 años
Chris Smith
14a192379b
TLS support
hace 5 años
Chris Smith
b0941e1047
Tag parsing support
hace 5 años
Chris Smith
36c7acfe2a
Add rudimentary PRIVMSG handling
hace 5 años
Chris Smith
f2e081e6c7
Introduce event handlers, refactor message processors.
hace 5 años
Chris Smith
89ad92f562
Logging, ping handling
hace 5 años
Chris Smith
c8eb193bde
Pass events back from processors
hace 5 años
Chris Smith
2a707a728a
Add a message handler
hace 5 años
Chris Smith
602c5e8b7a
Initial import, various supporting classes.
hace 5 años