Commit Graph

137 Commits

Author SHA1 Message Date
Josh Baker aa3f30144b
Update README.md 2020-11-03 11:22:28 -07:00
Josh Baker 72b36635bc
Create go.yml 2020-11-03 10:34:54 -07:00
tidwall 399d938449 Add a deadline for epollwait 2020-01-15 15:33:41 -07:00
tidwall 34ff08a426 Fix tick event consuming 100% CPU
fixes #61
2020-01-12 11:11:17 -07:00
tidwall 7a03219ad6 Avoid allocation 2020-01-07 10:09:15 -07:00
tidwall 99e633d2ce Reuse connection output page
Avoid the extra allocations for every Data event by hanging onto
the existing connection page when possible.
2020-01-07 09:51:49 -07:00
tidwall ef80c9bef1 Reuse queue allocation
The notes array doesn't need a new allocation every time it's
traversed. Check if it is nil and give it back it's previous
value.

Remove spinlock
2020-01-07 09:33:49 -07:00
Josh Baker 3d2e3575bc
Merge pull request #57 from coyove/coyove/fixendian
Fix Poll.Trigger byte order bug under linux
2019-10-20 18:38:30 -07:00
coyove 04673f038e Fix Poll.Trigger byte order bug under linux 2019-09-22 19:30:38 +08:00
tidwall b353be3a76 Fix for linux/arm64 2019-01-14 12:23:58 -07:00
tidwall ea610eff86 Fixed hang on detach closed 2018-11-05 11:58:07 -07:00
Josh Baker 67a98f8d46
Update README.md 2018-10-28 11:30:18 -07:00
tidwall 3a190d6d20 Added Wake to connection 2018-10-17 04:38:38 -07:00
Josh Baker 3db0020933
Update README.md 2018-07-12 11:04:11 -07:00
Josh Baker bd83ca50c1 Fix build on Windows
fixes #22
2018-06-11 08:40:29 -07:00
Josh Baker e74aca3b5a Added PreWrite 2018-05-26 07:06:27 -07:00
Josh Baker 0e201dccae
Fixed typos 2018-05-24 15:34:14 -07:00
Josh Baker dd88755b17 Added multithreaded support
It's now possible to fire up multiple event loops in separate
goroutines. All that's needed is to set the `events.NumLoops` options
before calling `Serve`.

There are a few breaking API changes.

- The events pass an evio.Conn param that represents the unique
incoming socket connection.
- Prewrite and Postwrite events have been removed.
- Wake and Dial functions have been removed.
- The Transform utility has been removed.

The older version has been tagged as `v0.1.0` for vendoring purposes.
2018-05-23 16:49:45 -07:00
Josh Baker 751f59108a
Merge pull request #17 from kevwan/patch-1
Update evio_loop.go
2018-03-21 15:11:54 -07:00
Kevin Wan 4287f1e5cc
Update evio_loop.go
Fix the race condition.
It was not thread safe to delete items from idconn and fdconn when checking for dial connection timeouts.
2018-03-21 11:49:22 +08:00
Josh Baker cf82b88f7c SO_REUSEPORT
Just add "reuseport=true" to an address:

evio.Serve(events, "tcp://0.0.0.0:1234?reuseport=true")
2018-03-19 12:47:53 -07:00
Josh Baker ac89b56717 disable travis
There's something up with the epoll/sockets stalling on IO events from a
Travis CI host.

Tests continue to pass when executed manually on Mac and Linux, but
they recently started timing out and failing though travis.

Disabled the Go tests until it's figured out.
2018-02-01 15:24:09 -07:00
Josh Baker a8d3e032b5 faster tests 2018-02-01 09:03:14 -07:00
Josh Baker 8239004317 format code 2018-02-01 06:04:08 -07:00
CorerMan b9bc837c07
Fix a crash bug
Here to determine the conditions of a problem, may lead to the collapse of the process
2018-02-01 14:35:35 +08:00
Josh Baker 7c27221c44 rename option 2017-12-22 05:43:16 -07:00
Josh Baker 2856314c8f reuse buffer option, closes #14 2017-12-21 12:25:33 -07:00
Josh Baker 703dc170d8 allow wake from preflight dialed connections 2017-12-20 10:16:40 -07:00
Josh Baker e07d3a91f8
format 2017-11-14 11:56:15 -07:00
Josh Baker b5a75773a4
typo 2017-11-14 11:53:39 -07:00
Josh Baker 1ef371695f packet conn close 2017-11-14 11:43:15 -07:00
Josh Baker d99d9b2eb9 udp server bindings 2017-11-14 11:42:15 -07:00
Josh Baker 48141e04ce fix #11 2017-11-13 05:44:48 -07:00
Josh Baker 81fe391381 test for nil addrs 2017-11-12 16:36:21 -07:00
Josh Baker d6385cdf49 removed commented code 2017-11-12 16:34:35 -07:00
Josh Baker 08622c142f
fixed code format 2017-11-08 17:16:28 -07:00
Josh Baker f416191b31
typo 2017-11-08 16:59:29 -07:00
Josh Baker 7fd6dad933
mention dial feature 2017-11-08 16:57:46 -07:00
Josh Baker 5641498bcd return accurate local addr on open
Use the write event before the read event and wait for an accurate local
address prior to firing the Opened event.
2017-11-08 16:45:30 -07:00
Josh Baker 81bd0514f4 fix dial with no addr 2017-11-08 10:20:52 -07:00
Josh Baker 1eb8a15a42 fix scheme 2017-11-08 10:13:47 -07:00
Josh Baker 1854813bd9 fixed echo example 2017-11-07 16:12:16 -07:00
Josh Baker 7da2f5a251 Dial outbound connection
It's not possible to dial an outbound connection which connects to the
event loop exactly like inbound connection.
2017-11-07 15:59:24 -07:00
Josh Baker 749915306d wip 2017-11-07 09:52:16 -07:00
Josh Baker 9471b43256 wip 2017-11-07 06:49:33 -07:00
Josh Baker e9ee8f49e1 Merge branch 'master' into proxy 2017-11-06 05:24:00 -07:00
Josh Baker 5554eb0d00 removed iris files from benchmarks 2017-11-06 05:22:35 -07:00
Josh Baker 0852af983f Merge branch 'master' into proxy 2017-11-06 05:01:34 -07:00
Josh Baker 482c5c993e removed iris from benchmarks 2017-11-06 04:48:32 -07:00
Josh Baker 91a7a6b471 added rn newline 2017-11-06 04:48:10 -07:00