Skip to content

Implement QUIC connection to sync tapes between nodes #39

Description

@Nagaprasadvr

Summary
tapenode currently uses HTTP JSON-RPC for syncing tapes. Proposal: migrate to QUIC using super-quinn, which provides abstractions for Server, Client, Message, and MessageHandler.


Why QUIC?

  • Multiplexed streams → sync, gossip, and control messages without blocking
  • Low-latency connections (0-RTT)
  • Built-in TLS 1.3 encryption
  • Clean integration with async tokio runtime and message traits

Approach

  • Use super-quinn to establish peer-to-peer connections
  • Define Message types for fetching tapes
  • Implement MessageHandler for processing peer messages
  • Run QUIC in parallel with JSON-RPC initially; later phase out JSON-RPC for peer sync

Next Steps

  • Define message formats to sync tapes and segments
  • Implement MessageHandler
  • Add QUIC Server + Client for peers
  • Benchmark vs. current JSON-RPC
  • migrate to switch completely

⚡ This will upgrade Tapenet from request/response JSON-RPC to a streaming, low-latency P2P protocol.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions