Commit Graph

122 Commits

Author SHA1 Message Date
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
Josh Baker a811bc2da2 wip 2017-11-06 03:58:06 -07:00
Josh Baker 484881f2cb
perfectly clear 2017-11-04 15:56:58 -07:00
Josh Baker c7f0c1fe8e
quote note 2017-11-04 15:39:13 -07:00
Josh Baker 805f0856e8
important note 2017-11-04 15:34:07 -07:00
Josh Baker 3801fe2cd9 use bombardier instead of wrk 2017-11-04 06:26:00 -07:00
Josh Baker a327e16d91 tcp6 issue 2017-11-03 17:33:22 -07:00
Josh Baker bbe6ab48de
removed pl 16 2017-11-03 17:22:01 -07:00
Josh Baker 3139a79b4a
Update README.md 2017-11-03 17:21:19 -07:00
Josh Baker ebb3a2ba7d
benchmarks 2017-11-03 17:20:42 -07:00
Josh Baker de6360a81e note 2017-11-03 17:15:27 -07:00
Josh Baker 6a6c22352b ec2 benchmarks 2017-11-03 17:14:09 -07:00
Josh Baker 8ea2a4a98f benchmarks 2017-11-03 16:39:28 -07:00
Josh Baker da1895587a single proc 2017-11-03 13:22:31 -07:00
Josh Baker 3b33b0c003
Update README.md 2017-11-03 13:11:26 -07:00
Josh Baker afca4c2c35 benchmarks 2017-11-02 18:36:15 -07:00