d529dcb23b
Terminate extension chains when marshalling header
Matt Joiner
2016-05-26 22:13:24 +10:00
0a3e0d100a
Don't do resends in a separate goroutine
Matt Joiner
2016-05-26 15:13:26 +10:00
0950f6188a
Bump to 20MB echo test
Matt Joiner
2016-05-26 15:12:50 +10:00
fc1b0ce1d6
TestMain: Wait a second for sockets to be closed before writing status
Matt Joiner
2016-05-26 15:10:44 +10:00
3c03170741
Avoid a small allocation
Matt Joiner
2016-05-26 15:09:46 +10:00
cc6c46a38d
Add Echo benchmark
Matt Joiner
2016-05-26 15:09:25 +10:00
e64a46c6c6
Slow down the raw UTP test
Matt Joiner
2016-05-23 09:32:51 +10:00
f203455078
Clean up accept code
Matt Joiner
2016-05-14 13:59:06 +10:00
2f283dacc4
Observations while fixing the last
Matt Joiner
2016-05-14 13:15:41 +10:00
fb5d273ddc
Socket didn't have a destroyed Event, Accept would never return without explicit Close despite error
Matt Joiner
2016-05-14 13:15:19 +10:00
ea7646aa4a
Add TestAcceptOnDestroyedSocket
Matt Joiner
2016-05-14 13:04:48 +10:00
7a25702542
Improve consistency of TestWriteUnderlyingPacketConnClosed
Matt Joiner
2016-05-14 13:03:58 +10:00
2ae532de0f
missinggo.Event changes
Matt Joiner
2016-05-07 18:59:21 +10:00
e509da3316
Don't do send buffer allocation in header.Marshal, and don't allocate minMTU for outgoing non-data packets, throw away sendBufferPool
Matt Joiner
2016-04-30 04:06:29 +10:00
40801b2499
Track how many state packets are saved by batching them
Matt Joiner
2016-04-29 21:21:13 +10:00
f40a4e70a4
Missed hunk from last commit
Matt Joiner
2016-04-29 20:52:37 +10:00
96252a858d
Fix handling of net.Addr.Network throughout, and create a utp addr type
Matt Joiner
2016-04-29 20:50:24 +10:00
e5dca62cbd
Cap the read buffer to 1MiB, test Conn write deadline, and large transfer
Matt Joiner
2016-04-26 23:43:03 +10:00
5eef1671c7
Tidy up write
Matt Joiner
2016-04-26 23:16:42 +10:00
68ec4a72c8
Trial a dedicated read sync.Cond for improved performance
Matt Joiner
2016-04-26 12:48:06 +10:00
a0d40bd787
Remove dedicated Conn.deliveryProcessor goroutine, and fix Conn.deliver deadlock
Matt Joiner
2016-04-26 01:08:19 +10:00
e57d077423
Clean up a test
Matt Joiner
2016-04-24 21:18:02 +10:00
a3167f3d18
Clean up deadline handling
Matt Joiner
2016-04-24 21:17:41 +10:00
276b2e01aa
Conn.Write should fail if Socket is destroyed
Matt Joiner
2016-04-24 20:19:48 +10:00
336395439c
Rework connPair to use the same Socket for both Conns
Matt Joiner
2016-04-24 20:02:45 +10:00
4ff5ca0f7d
Count dropped and unused packets
Matt Joiner
2016-04-24 20:01:19 +10:00
bb8da3e04a
Doc comments and tidy
Matt Joiner
2016-04-24 20:00:52 +10:00
0163ffe960
Do dispatching inline with the socket reader and destroy socket on read error
Matt Joiner
2016-04-24 19:58:43 +10:00
d2fb2b0385
On dial timeout, don't send a FIN, as they'll treat it like EOF
Matt Joiner
2016-04-22 02:39:16 +10:00
78425cef94
TestAcceptGone: Check that SetReadDeadline worked
Matt Joiner
2016-04-21 22:39:05 +10:00
c5226b7368
Add some new tests
Matt Joiner
2016-04-21 22:38:50 +10:00
c452c69132
Make it easier to set and unset testing and default timeouts
Matt Joiner
2016-04-21 22:38:16 +10:00
719fbbd05e
updateStates is just lazyDestroy, and use it in Conn.Write
Matt Joiner
2016-04-21 22:34:24 +10:00
8e5eae6555
Also hook addr resolving for tests
Matt Joiner
2016-04-21 22:33:32 +10:00
6d38c865d7
Use in-memory implementation of PacketConn for tests
Matt Joiner
2016-04-20 00:01:08 +10:00
5486f285e7
Treat closed as gotFin for purposes of destroying Conn after sends are acked
Matt Joiner
2016-04-19 18:33:01 +10:00
974bb7b58f
Close triggers EOF on Read
Matt Joiner
2016-04-19 18:32:09 +10:00
83c99a29af
registerConn add connKey to Conn only after it's added
Matt Joiner
2016-04-19 18:29:00 +10:00
c4b73fb4aa
Trigger Conn detach when destroyed
Matt Joiner
2016-04-19 18:03:24 +10:00
3b47958457
Fix naming of Conn.{closing,closed}
Matt Joiner
2016-04-19 17:45:11 +10:00
39b33ffeec
Fix nixxing of ackSkipped resend when already acked
Matt Joiner
2016-04-19 17:35:44 +10:00
6865c4baa2
Make resend a fixed method on send
Matt Joiner
2016-04-19 17:27:18 +10:00
d313cb3d3d
Single global mutex and cond
Matt Joiner
2016-04-19 11:27:05 +10:00
59c10150c5
Break up into smaller files
Matt Joiner
2016-04-19 10:26:44 +10:00
a0ed6ae2f3
Don't do TestConnectSelf in parallel
Matt Joiner
2016-04-18 21:31:00 +10:00
e597926497
Make the timedOut callback a method
Matt Joiner
2016-04-18 01:23:18 +10:00
2aa2a1db54
Don't resend packet when ack is skipped if it's already acked
Matt Joiner
2016-04-16 02:49:36 +10:00
0035676f02
Tidy up Conn.unackedSends trim logic
Matt Joiner
2016-04-15 15:49:29 +10:00
11118b11ca
Nil send function fields once acked
Matt Joiner
2016-04-15 15:49:08 +10:00
a76e34cff9
Avoid race condition warning in WriteStatus
Matt Joiner
2016-04-15 15:38:45 +10:00
3330d96470
Avoid race-condition warning on Accept
Matt Joiner
2016-04-15 15:37:08 +10:00
91202c143a
Fix goroutine leak in TestRejectDialBacklogFilled
Matt Joiner
2016-03-30 03:18:11 +11:00
ca69c553dd
Finish writing TestAcceptGone... and fix a Socket leak
Matt Joiner
2016-03-30 03:17:35 +11:00
edac85f380
Fix a bunch of Socket leaks
Matt Joiner
2016-03-30 03:16:27 +11:00
b838555ba9
Minor test tidying
Matt Joiner
2016-03-30 03:15:45 +11:00
94cee6c435
Stop tracking sockets when they're torn down
Matt Joiner
2016-03-30 03:14:27 +11:00
99f1840157
Fail on dangling sockets at end of tests, and expose status info on root pprof handler
Matt Joiner
2016-03-30 03:13:02 +11:00
888408e749
Use missinggo.Event for closing and backlog events
Matt Joiner
2016-03-24 19:04:46 +11:00
d792358710
Improve waits on synchronized predicates in tests
Matt Joiner
2016-03-24 19:03:34 +11:00
0a78608853
Track leaks of unclosed dialed sockets
Matt Joiner
2016-03-15 21:32:06 +11:00
fff966d488
Use monotonic time in calculating latencies and timeouts
Matt Joiner
2016-03-15 21:30:51 +11:00
90b6936c47
jitter.Duration relocated to missinggo.JitterDuration
Matt Joiner
2016-03-15 21:30:06 +11:00
207e361a10
Just create timeout channel as required
Matt Joiner
2016-01-30 04:27:21 +11:00
4d6ad91bee
Add comment
Matt Joiner
2016-01-30 04:26:18 +11:00
165b1751e0
Rework conn.destroy method
Matt Joiner
2015-12-12 14:14:37 +11:00
80886638a7
Add beginning of status page
Matt Joiner
2015-12-12 14:13:30 +11:00
9cb4fcf35c
Can close if our FIN isn't acked, but we've sent all other data
Matt Joiner
2015-10-18 23:52:05 +11:00
479779955d
Fix race
Matt Joiner
2015-10-18 23:50:28 +11:00
8c0d633a95
Send errors destroy the connection
Matt Joiner
2015-10-14 19:39:12 +11:00
6ad6007e10
Don't allocate another timer for every packet delivered
Matt Joiner
2015-10-14 19:38:38 +11:00
ad5a6ecf55
Add a test for packet read timeout
Matt Joiner
2015-10-14 19:37:26 +11:00
eb937061bb
pingpong: Fix for ubuntu which
Matt Joiner
2015-10-14 11:08:48 +11:00
2907919022
cmd/ucat: Put reading into its own goroutine
Matt Joiner
2015-10-13 07:40:09 +11:00
4b6dc7cf4c
pingpong: Abstract port and md5cmd
Matt Joiner
2015-10-13 07:39:30 +11:00
ab7f153747
Various improvements
Matt Joiner
2015-10-13 00:10:51 +11:00
e12fcfb4f5
Rework all the Conn state stuff
Matt Joiner
2015-10-09 01:46:00 +11:00
6696f7f05e
pingpong: Unnecessary clobber of GOPPROF
Matt Joiner
2015-10-09 01:45:22 +11:00
fa90a07438
Too fast for -race
Matt Joiner
2015-10-08 23:22:11 +11:00
5eaa9cbc5d
Allow net.PacketConn to be provided for new Socket
Matt Joiner
2015-10-06 15:25:28 +11:00
98cc036d42
Parallel tests that can be
Matt Joiner
2015-10-05 12:25:46 +11:00
09a427e482
Raise the log level for received packets that are dropped for being too far ahead
Matt Joiner
2015-10-05 12:25:24 +11:00
391452df7a
Scale resend timeouts by the number of resends
Matt Joiner
2015-10-05 12:23:43 +11:00
aaf8b13bc7
Raise the send and receive windows to approximately 256KiB
Matt Joiner
2015-10-05 12:23:11 +11:00
4e794234ed
Maintain inbound and outbound window sizes in O(1)
Matt Joiner
2015-10-04 20:01:35 +11:00
5341f3c935
Don't teardown Socket if all Conns detach unless the Socket has been closed
Matt Joiner
2015-10-04 15:45:09 +11:00
0bb24de92c
pingpong: Show progress
Matt Joiner
2015-10-03 23:47:32 +10:00
f772b86524
Add some new expvars
Matt Joiner
2015-10-03 20:42:23 +10:00