- 
        Couldn't load subscription status. 
- Fork 306
[WIP] feat: use quic multipath #3381
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
          
     Draft
      
        
      
            dignifiedquire
  wants to merge
  120
  commits into
  main
  
    
      
        
          
  
    
      Choose a base branch
      
     
    
      
        
      
      
        
          
          
        
        
          
            
              
              
              
  
           
        
        
          
            
              
              
           
        
       
     
  
        
          
            
          
            
          
        
       
    
      
from
feat-multipath
  
      
      
   
  
    
  
  
  
 
  
      
    base: main
Could not load branches
            
              
  
    Branch not found: {{ refName }}
  
            
                
      Loading
              
            Could not load tags
            
            
              Nothing to show
            
              
  
            
                
      Loading
              
            Are you sure you want to change the base?
            Some commits from the old base branch may be removed from the timeline,
            and old review comments may become outdated.
          
          
  
     Draft
                    Changes from all commits
      Commits
    
    
            Show all changes
          
          
            120 commits
          
        
        Select commit
          Hold shift + click to select a range
      
      c17a870
              
                feat: use quinn multipath
              
              
                dignifiedquire 7fe570d
              
                update iroh-quinn
              
              
                dignifiedquire 2f469ac
              
                start opening paths
              
              
                dignifiedquire 870716f
              
                add more paths
              
              
                dignifiedquire 346a7c2
              
                set keep alive and idle timeouts for new paths
              
              
                dignifiedquire 68b1769
              
                insert relay path
              
              
                dignifiedquire 0eb3fde
              
                set relay path as backup
              
              
                dignifiedquire 79ec17f
              
                start removing ping logic from the node_map
              
              
                dignifiedquire c4baca8
              
                start tracking path events
              
              
                dignifiedquire 549adee
              
                start figuring out more details
              
              
                dignifiedquire 9ef5765
              
                wip
              
              
                dignifiedquire 75d5525
              
                get some stuff to work again
              
              
                dignifiedquire 4f78898
              
                remove ip_mapped_addresses
              
              
                dignifiedquire 130710f
              
                use correct relay addr on recv
              
              
                dignifiedquire dba89df
              
                ensure connection registration
              
              
                dignifiedquire aab083d
              
                remove rtt_actor, this is now done inside quinn on a per path basis
              
              
                dignifiedquire d4484da
              
                open additional paths after the initial connection
              
              
                dignifiedquire 6cb94e4
              
                ensure path open
              
              
                dignifiedquire 998e283
              
                some debugging
              
              
                dignifiedquire 99cee61
              
                update quinn branch
              
              
                dignifiedquire 4b60a9a
              
                fixups
              
              
                dignifiedquire 04b714c
              
                update deps
              
              
                dignifiedquire 59efdcf
              
                bunch of renames and doc updates, no functional changes
              
              
                flub f9924cd
              
                switch to main multipath branch
              
              
                flub 3058a8e
              
                another rename
              
              
                flub 11dd04d
              
                Set max_idle_time to a good value
              
              
                flub 6869faa
              
                fix typo
              
              
                flub 539a514
              
                Start hooking up a new NodeStateActor
              
              
                flub a1a7d89
              
                Rename AllPathsMappedAddr to NodeIdMappedAddr
              
              
                flub 4b00ad7
              
                Move all mapped addrs to one module
              
              
                flub 31ab033
              
                allow me to send via the NodeStateActor
              
              
                flub 5ae71ed
              
                Unify NodeIdMappedAddr and RelayMappedAddr a bit more
              
              
                flub 599f25d
              
                start implementing AddConnection
              
              
                flub 2417e6b
              
                make add_node_addr async and send it to the NodeStateActor
              
              
                flub 9820e60
              
                start handling AddNodeAddr message
              
              
                flub ef7a6f3
              
                start sending datagrams from the actor
              
              
                flub 76f3768
              
                Start adding state for holepunching decisions
              
              
                flub 1366161
              
                refactor to allow scheduling holepunching attempts
              
              
                flub 3436423
              
                plug in DiscoState to the NodeStateActor
              
              
                flub 01bf15c
              
                a sane method to send disco messages
              
              
                flub 001d16d
              
                Implement starting of holepunching
              
              
                flub 7a9023f
              
                handle receiving pings
              
              
                flub 92dd37c
              
                handle receiving CallMeMaybe messages
              
              
                flub ac2db4d
              
                open a path when we receive a pong
              
              
                flub 6d69555
              
                Move open path to not block the actor
              
              
                flub 12d12c0
              
                select the right path
              
              
                flub 9e7be2d
              
                close paths on all connections
              
              
                flub c1bfdf5
              
                send connections to the NodeStateActor
              
              
                flub 7b4f056
              
                remove PingActions from magicsock Actor Message
              
              
                flub d3b81e7
              
                Kill a bunch of dead code
              
              
                flub d9ed9be
              
                use a better way to send to this channel
              
              
                flub 2c521b0
              
                Hook up connecting check for a valid send addr
              
              
                flub 21894e7
              
                Do not send incoming packets through the NodeMap
              
              
                flub fc97009
              
                delete a whole bunch of unused code
              
              
                flub 0b4214b
              
                delete some more unused code
              
              
                flub a0d5ba1
              
                fine tune logging
              
              
                flub 65c5d30
              
                try_send is removed. do not log poll_send span twice
              
              
                flub e7d9268
              
                Do not holepunch on sending the first message
              
              
                flub 924f41b
              
                postpone solving this, make the test work
              
              
                flub 8b1fd0f
              
                Add the path from a new connection, call select path
              
              
                flub 0522c0e
              
                Do not close the last direct path on a connection
              
              
                flub 50cc92f
              
                Open some more paths when needed
              
              
                flub 4a1375f
              
                Add a first relay test
              
              
                flub ee20734
              
                Merge branch 'main' into feat-multipath
              
              
                flub fdeb6f4
              
                tidy up NodeMap creation
              
              
                flub d4fc291
              
                Simplify delayed discovery start
              
              
                flub 8ba3fd9
              
                Remove try_send impls, no longer used
              
              
                flub 23ef6fe
              
                remove dead code
              
              
                flub 7fbd5df
              
                Merge branch 'main' into feat-multipath
              
              
                flub 3f58e95
              
                Remove MagicStack and mesh_stacks
              
              
                flub 7ac4dec
              
                dead code
              
              
                flub f38e5c2
              
                remove test and delete then unused function
              
              
                flub 1eeb4bb
              
                start removing old nodestate
              
              
                flub 145cb18
              
                delete more: path_validity mod is gone
              
              
                flub ccb3287
              
                remove more!
              
              
                flub 80157d4
              
                and more gone
              
              
                flub b0957cb
              
                rename temporary name, now the name is free again
              
              
                flub a3e58f8
              
                slightly better logging
              
              
                flub ce564f1
              
                avoid unneeded mut when not testing
              
              
                flub 4eb0f07
              
                Convert to canonical IP address in IpSender
              
              
                flub 28bf51c
              
                remove duplicate adding
              
              
                flub befde29
              
                clearer bounds writing
              
              
                flub 2b2f3c2
              
                Merge branch 'main' into feat-multipath
              
              
                flub 79cd50c
              
                fix AddrMap impl to update both maps
              
              
                flub c2a192e
              
                Always use IPv6 addresses
              
              
                flub 04e1e3d
              
                tweak logging, this is too noisy
              
              
                flub 660c39a
              
                random lost import
              
              
                flub 9da6c1c
              
                keep reducing redundant logging
              
              
                flub 85cedca
              
                Make transports Addrs use the canonical form
              
              
                flub 7ee963f
              
                insert PathId::ZERO in the path_id_map
              
              
                flub 9de1055
              
                fix addr selection for holepunching
              
              
                flub ae07d68
              
                bunch of logging imporvements
              
              
                flub 0ce64c9
              
                remove redundant logging
              
              
                flub 9a592ce
              
                plug through a minimal PathInfo
              
              
                flub eb92bb7
              
                We don't pend CallMeMaybe anymore
              
              
                flub 6e31e4d
              
                clippy, at last some code quality
              
              
                flub 008648c
              
                care to enable multipath?
              
              
                flub cdc0f90
              
                refactor into more methods, just mechanical
              
              
                flub b80de1a
              
                Log transports::Addr a bit more compactly
              
              
                flub 4200059
              
                some minimal docs
              
              
                flub 5988e94
              
                rework the test a little to have easier spans
              
              
                flub 77dfc32
              
                log the correct packet lengths
              
              
                flub 8b8321b
              
                Set the path status for the initial path
              
              
                flub 50f98b8
              
                next thing to work on
              
              
                flub b4114fa
              
                chore: update git deps
              
              
                dignifiedquire 583cf9e
              
                Merge remote-tracking branch 'origin/main' into feat-multipath
              
              
                dignifiedquire 5071e56
              
                Merge remote-tracking branch 'origin/main' into feat-multipath
              
              
                dignifiedquire 1976993
              
                improve logging and reduce max concurrent paths to 16
              
              
                flub e10ac11
              
                Merge branch 'main' into feat-multipath
              
              
                flub ce5bdd2
              
                newtype the connection id
              
              
                flub 7839a4c
              
                make sure that the transport addrs use canonical addresses
              
              
                flub fcaea95
              
                No longer need to patch rustls
              
              
                flub 7d86eff
              
                Only select the path based on open paths
              
              
                flub 203204c
              
                some fixes to path selection
              
              
                flub de2074e
              
                small cleanups, review comments
              
              
                flub 55d1c29
              
                Merge branch 'main' into feat-multipath
              
              
                flub bd680f1
              
                Merge branch 'main' into feat-multipath
              
              
                flub 9fcdd71
              
                Use TransportAddr to improve PathInfo exposed
              
              
                flub de6eefc
              
                compile on wasm again
              
              
                flub c2b131f
              
                add relay to a new connection that is direct (#3569)
              
              
                flub File filter
Filter by extension
Conversations
          Failed to load comments.   
        
        
          
      Loading
        
  Jump to
        
          Jump to file
        
      
      
          Failed to load files.   
        
        
          
      Loading
        
  Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
      
      Oops, something went wrong.
      
    
  
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
      
      Oops, something went wrong.
        
    
  
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Uh oh!
There was an error while loading. Please reload this page.