Commit Graph

  • 0a4c2ea815 Merge remote-tracking branch 'upstream/master' into HEAD master Audrius Butkevicius 2016-05-28 12:57:00 +01:00
  • f933e8019e Improve deadline code, and fix breaking of zero deadline Matt Joiner 2016-05-28 21:51:06 +10:00
  • a198407ec3 Make deadlines work on Socket Matt Joiner 2016-05-28 21:24:07 +10:00
  • d70ad6c956 Move a bunch of Socket tests into socket_test.go Matt Joiner 2016-05-28 21:06:22 +10:00
  • ede08cf685 SetBytes and ResetTimer in BenchmarkEchoLongBuffer Matt Joiner 2016-05-27 15:28:17 +10:00
  • 2cc71fb749 Add BenchmarkSyncthingInprocUTP Matt Joiner 2016-05-27 14:38:32 +10:00
  • 6c74582ea9 Add Syncthing to benchmark test names Matt Joiner 2016-05-27 14:38:07 +10:00
  • 6644dc814f Fix socket leak in syncthing test Matt Joiner 2016-05-27 14:37:43 +10:00
  • a705995975 Add provided benchmark tests from #13 Matt Joiner 2016-05-27 14:20:53 +10:00
  • 11fecf34d2 Fix race condition letting writes through after dial connects Matt Joiner 2016-05-27 14:20:32 +10:00
  • 1429635b95 Merge pull request #1 from syncthing/syncthingmagic Audrius Butkevicius 2016-05-26 20:12:36 +01:00
  • 065fae8ee7 Ditch the global condition Matt Joiner 2016-05-27 03:04:43 +10:00
  • a65cf5791e Add a magic word in front of the header syncthingmagic Jakob Borg 2016-05-26 15:11:09 +02:00
  • 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