feat: implement fastn-p2p streaming API foundation for remote shell functionality#2205
Merged
amitu merged 1 commit intofeature/fastn-p2p-streamingfrom Sep 17, 2025
Merged
Conversation
β¦d fastn-context integration Add streaming API for P2P sessions alongside existing request/response pattern. Changes: - Add fastn-context dependency for session context management - Implement client::connect() for streaming sessions - Add client::Session with stdin/stdout streams and uni/bi stream support - Implement server::Session with protocol, context, and stream management - Add Session::into_request() for RPC compatibility - Export new modular client and server modules - Maintain backward compatibility with existing call() API This enables remote shell and streaming use cases while preserving existing fastn-p2p functionality. π€ Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
20 tasks
This was referenced Sep 17, 2025
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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