feat: implement fastn-p2p streaming API foundation for remote shell functionality #2205
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.
Summary
Implement the foundational streaming API for fastn-p2p to enable remote shell functionality. This PR adds streaming sessions alongside the existing request/response pattern, providing the foundation for rshell/rexec commands.
🎯 Implementation: fastn-p2p Streaming API
This PR implements Phase 2 of the focused plan originally outlined in PR #2202:
🔧 New Streaming API
Client Side
Server Side
✅ Key Features
Session::into_request()preserves existing Request-based patternsfastn_p2p::call()usage continues unchangedclient::andserver::module exports🏗️ Implementation Status
📊 Changes
client::connect(),client::Session,server::Sessioncall()functionThis provides the complete API foundation for streaming P2P sessions needed for remote shell functionality, with clear TODO markers ready for actual iroh implementation.
🤖 Generated with Claude Code