Commit graph

  • a64f7320d8 update phony, add mobile versions of util bytes functions that don't try to store anything Arceliar 2019-08-31 16:27:36 -05:00
  • 5c0f79c4ed
    Merge pull request #519 from Arceliar/actors Arceliar 2019-08-31 12:02:50 -05:00
  • 08f69de1e2 another phony update Arceliar 2019-08-31 00:04:35 -05:00
  • 32633011ef upgrade phony dependency Arceliar 2019-08-30 22:10:34 -05:00
  • 9e4d4f33ba upgrade to latest phony Arceliar 2019-08-29 23:30:39 -05:00
  • 7649ea0f9f remove sessionInfo.doFunc, have the api just use phony.Block instead Arceliar 2019-08-29 21:59:28 -05:00
  • c6792e1deb Added dep package manager configuration. Added vendor directory to .gitignore Igor Zashchelkin 2019-08-29 16:26:06 +03:00
  • 1f658cce76
    Add Core actor Neil Alexander 2019-08-28 19:53:52 +01:00
  • aa0770546e
    Move responsibility for configuring max queue size into switch Neil Alexander 2019-08-28 19:39:23 +01:00
  • fc9a1c6c31
    Simplify reconfiguration Neil Alexander 2019-08-28 19:31:04 +01:00
  • 764f9c8e11
    Remove legacy debug functions Neil Alexander 2019-08-28 17:24:41 +01:00
  • 881d0a1ada
    Fix DEBUG_getDHTSize Neil Alexander 2019-08-28 12:46:49 +01:00
  • e553f3e013
    Reconfigure functions now ran by actors Neil Alexander 2019-08-28 12:46:12 +01:00
  • 607c906820
    Pointer receivers for phony.Block Neil Alexander 2019-08-28 12:26:44 +01:00
  • 5d7d84f827
    Remove router.doAdmin and switchTable.doAdmin Neil Alexander 2019-08-28 12:17:19 +01:00
  • a8b323acdd have an actor manage the crypto worker pool instead of each session trying to use it directly, this should result in a fairer round-robin behavior in cases where crypto congestion is the bottleneck Arceliar 2019-08-27 20:01:37 -05:00
  • 3845f81357 update to latest phony, adjust interface use accordingly Arceliar 2019-08-27 19:43:54 -05:00
  • 4d9c6342a7 more link updates Arceliar 2019-08-26 18:37:38 -05:00
  • f432875d87 Merge branch 'actors-linky' into actors Arceliar 2019-08-26 00:38:29 -05:00
  • c97dd4ad28 fix dial bug Arceliar 2019-08-26 00:38:14 -05:00
  • ab59129557 have the writer clean things up. note that their still seem to be bugs in the main linkInterface actor's state machine--links sometimes just die, presumably because they're dropped from the switch and never replaced Arceliar 2019-08-25 23:24:18 -05:00
  • e5b88c0da3 update switch Arceliar 2019-08-25 23:07:56 -05:00
  • bd3eaefb72 more link migration Arceliar 2019-08-25 22:55:17 -05:00
  • b5b179904b ugly work-in-progress to migrate link to the actor model Arceliar 2019-08-25 22:19:20 -05:00
  • dffd70119d remove session shutdown goroutine, just send a message instead Arceliar 2019-08-25 19:13:47 -05:00
  • b2a2e251ad more TunAdapter migration Arceliar 2019-08-25 18:53:11 -05:00
  • aaf34c6304 start migrating the TunAdapter to the actor model Arceliar 2019-08-25 18:08:43 -05:00
  • 502f2937a9 a couple race fixes and use timer.AfterFunc instead of sleeping goroutines or ticker in a few places Arceliar 2019-08-25 17:00:02 -05:00
  • a3d4d8125b make the main library reconfiguration more actor-friendly Arceliar 2019-08-25 12:10:59 -05:00
  • aa30c6cc98 upgrade phony dependency and switch to its new interface Arceliar 2019-08-25 10:36:09 -05:00
  • cff1366146 update phony dependency Arceliar 2019-08-24 22:28:20 -05:00
  • 5312b21665 Merge branch 'develop' of https://github.com/yggdrasil-network/yggdrasil-go into actors Arceliar 2019-08-24 18:30:15 -05:00
  • 2872ab5231
    Merge pull request #520 from Arceliar/bugfix Arceliar 2019-08-24 18:29:48 -05:00
  • f62bc842ae fix memory leak in session nonce map Arceliar 2019-08-24 18:23:54 -05:00
  • 68c380ff45 update phony dependency Arceliar 2019-08-24 17:03:19 -05:00
  • 48bbdac9b3 add a helper actor to the link reader to make it play nicer with backpressure Arceliar 2019-08-24 16:27:12 -05:00
  • 99be6b037d stop synchronizing message reads for now, not 100% safe but I don't have any better ideas Arceliar 2019-08-24 16:13:34 -05:00
  • 209d2ffea5 correctly call peer.sendPacketsFrom in the switch Arceliar 2019-08-24 16:04:05 -05:00
  • 8c7e9ec7c0 fix debug builds Arceliar 2019-08-24 15:32:19 -05:00
  • c573170886 remove switch doworker loop, start a dummy loop to respond to (unused) reconfiguration instead Arceliar 2019-08-24 15:27:56 -05:00
  • 998c76fd8c more switch migration Arceliar 2019-08-24 15:22:46 -05:00
  • 555b4c18d4 a little switch cleanup Arceliar 2019-08-24 15:05:18 -05:00
  • 498bc395e2 start migrating switch to the actor model Arceliar 2019-08-24 14:56:33 -05:00
  • b337228aa4 minor fixes to peer stuff Arceliar 2019-08-24 14:24:42 -05:00
  • 0539dee900 warning about possible deadlock in legacy channel send, need to migrate the link code to fix it Arceliar 2019-08-24 13:25:38 -05:00
  • 034fece33f more peer migration Arceliar 2019-08-24 13:15:29 -05:00
  • ecd23ce9fc safer linkloop Arceliar 2019-08-24 12:59:20 -05:00
  • 88161009e9 more peer migration Arceliar 2019-08-24 12:55:49 -05:00
  • 775fb535dc start converting the peer struct into an actor Arceliar 2019-08-24 12:46:24 -05:00
  • ef15a6bd79 tunConn cleanup Arceliar 2019-08-24 11:44:21 -05:00
  • 4893a07696 start migrating tunConn to the actor model Arceliar 2019-08-24 11:38:47 -05:00
  • b582c444f8 minor cleanup Arceliar 2019-08-24 01:57:08 -05:00
  • 1e346aaad0 have the conn actor receive messages from the session actor and either pass them to a callback or buffer them in a channel for Read to use if no callback was set Arceliar 2019-08-24 01:52:21 -05:00
  • 9948e3d659 add Conn.WriteFrom to allow actor-based sending Arceliar 2019-08-24 00:44:02 -05:00
  • da9f7151e3 more conn migration Arceliar 2019-08-24 00:17:37 -05:00
  • 6ecbc439f0 start migrating Conn to be an actor Arceliar 2019-08-23 23:36:00 -05:00
  • cac3444d9a fix debug builds Arceliar 2019-08-23 22:40:13 -05:00
  • cf9880464b explicitly consider the session finished case, and make a note that we could fix the packet drop situation by making the Conn into an actor too Arceliar 2019-08-23 22:36:59 -05:00
  • e3603c0462 clean up unused session code Arceliar 2019-08-23 22:25:40 -05:00
  • 533da351f9 fix actor EnqueueFrom stack overflow (use nil now to send from self) and replace session send/recv workers with actor functions Arceliar 2019-08-23 22:23:01 -05:00
  • 436c84ca33 refactor sessions to store a pointer to router instead of core Arceliar 2019-08-23 20:53:00 -05:00
  • 5bb85cf07b refactor searches to store a pointer to router instead of core Arceliar 2019-08-23 20:42:38 -05:00
  • e7024a00e7 have dht store a pointer to router instead of core Arceliar 2019-08-23 20:35:54 -05:00
  • ebd806f27a move router member initialization into router.init Arceliar 2019-08-23 20:29:16 -05:00
  • 9835c63818 refactor things the router owns (dht, sessions, searches) into that struct, to make the ownership more explicit Arceliar 2019-08-23 20:26:15 -05:00
  • bbcbbaf3b1 start migrating sessionInfo to be an actor Arceliar 2019-08-23 20:05:18 -05:00
  • 8e89816099 more router migration: rename functions that should only be called internally by the actor Arceliar 2019-08-23 18:59:34 -05:00
  • 232e6d3cb3 more router migration Arceliar 2019-08-23 18:55:41 -05:00
  • 9d7e7288c6 start migrating the router to an actor Arceliar 2019-08-23 18:47:15 -05:00
  • 8cb3ea8e3d make sure we buffer packets in order when waiting for a dial to finish, and make sure we can't leak the dial goroutine if the conn is closed before all buffered packets are sent Arceliar 2019-08-21 21:52:54 -05:00
  • 562a7d1f19
    Merge pull request #516 from yggdrasil-network/develop v0.3.8 Neil Alexander 2019-08-21 18:19:56 +01:00
  • 0cb99d522f
    Update changelog Neil Alexander 2019-08-21 18:18:46 +01:00
  • 1308cb37b9
    Merge pull request #515 from Arceliar/tidy Neil Alexander 2019-08-21 07:11:07 +01:00
  • 0d5dd9c455 update crypto dependency and run go mod tidy Arceliar 2019-08-20 23:44:20 -05:00
  • 12ce8c6a0a
    Merge pull request #512 from neilalexander/cryptokey Arceliar 2019-08-20 20:23:00 -05:00
  • f9d28e80df
    Merge pull request #514 from Arceliar/bugfix Arceliar 2019-08-20 19:13:00 -05:00
  • 226dd6170d hopefully prevent a deadlock Arceliar 2019-08-20 18:49:53 -05:00
  • 4156aa3003 move ckr checks into the tunConn code Arceliar 2019-08-20 18:10:08 -05:00
  • b79829c43b
    Merge branch 'develop' into cryptokey Neil Alexander 2019-08-20 09:43:17 +01:00
  • ca73cf9e98
    Merge pull request #513 from Arceliar/speedup Neil Alexander 2019-08-20 09:43:00 +01:00
  • b6e67bc0ba
    Check CKR remotes when receiving traffic Neil Alexander 2019-08-20 09:38:46 +01:00
  • 2b6462c8a9
    Strict checking of Yggdrasil source/destination addresses Neil Alexander 2019-08-20 09:38:27 +01:00
  • 834a6a6f1a don't allocate a new child cancellation in Conn read/write calls if no deadline is set Arceliar 2019-08-19 18:06:05 -05:00
  • 2a629880fd
    Rename crypto-key config options, improve control flow Neil Alexander 2019-08-19 10:28:30 +01:00
  • c04816b4bd
    Merge pull request #510 from Arceliar/streamWrites Arceliar 2019-08-18 18:19:06 -05:00
  • 322f83a247
    Deprecate IPv4Sources and IPv6Sources options in crypto-key routing, these options were not well understood and increased the complexity of configuring CKR vs Wireguard or similar Neil Alexander 2019-08-18 21:58:28 +01:00
  • 8af1a7086c when a link becomes idle and packet are buffered that the link could send, send at least 65535 bytes worth instead of 1 packet, this reduces syscall overhead when small packets are sent through the network Arceliar 2019-08-18 12:29:07 -05:00
  • 62337bcd64 allow links to send multiple packets at once, currently we still only bother to send 1 at a time from the switch level Arceliar 2019-08-18 12:17:54 -05:00
  • 009d9c9ec0
    Merge pull request #505 from yggdrasil-network/develop v0.3.7 Neil Alexander 2019-08-18 11:20:50 +01:00
  • 039dd98f0d
    Update CHANGELOG.md Arceliar 2019-08-17 12:46:34 -05:00
  • 57e7acdda8
    Update CHANGELOG.md Arceliar 2019-08-17 12:42:17 -05:00
  • 80535d402f
    Merge pull request #508 from Arceliar/nonce Neil Alexander 2019-08-17 10:55:21 +01:00
  • fd5f3ca764 fix heap pop order Arceliar 2019-08-16 23:07:40 -05:00
  • 03b8af9f1a keep track of recent nonces with a heap and a map instead of a fixed-size bitmask Arceliar 2019-08-16 18:37:16 -05:00
  • 0cac0c1d4e disable session nonce checks Arceliar 2019-08-15 18:58:29 -05:00
  • fdac8932a8
    Update changelog Neil Alexander 2019-08-15 13:11:54 +01:00
  • ae0fe93de5
    Update changelog Neil Alexander 2019-08-15 12:54:04 +01:00
  • adf69d0127
    Merge pull request #506 from Arceliar/switchorder Neil Alexander 2019-08-15 11:00:12 +01:00
  • 5b054766a2
    Update comments in handleIn, add switch_getFlowLabelFromCoords helper (in case it is useful if we try to consider flowlabels in multi-link scenarios) Neil Alexander 2019-08-15 10:54:04 +01:00
  • 382c2e6546 even more go.sum Arceliar 2019-08-14 18:14:24 -05:00