From 64d5a6be18ea330862668e9c47d47ab68b635aa5 Mon Sep 17 00:00:00 2001 From: Green Sky Date: Sat, 1 Oct 2022 21:11:28 +0200 Subject: [PATCH] add poc ft packetids --- ngc_ext_common.hpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/ngc_ext_common.hpp b/ngc_ext_common.hpp index a5fd94c..2918176 100644 --- a/ngc_ext_common.hpp +++ b/ngc_ext_common.hpp @@ -85,6 +85,43 @@ enum _PacketType : uint8_t { // - ] HS1_RESPONSE_LAST_IDS, + // request the other side to initiate a FT + // - 1 byte (file_kind) + // - X bytes (file_kind dependent id, differnt sizes) + FT1_REQUEST, + + // tell the other side you want to start a FT + // - 1 byte (file_kind) + // - X bytes (file_kind dependent id, differnt sizes) + // - 8 bytes (data size) // TODO: do all file kinds have a size at init? + // - 1 byte (temporary_file_tf_id, for this peer only, technically just a prefix to distinguish between simultainious fts) + FT1_INIT, + + // acknowlage init (like an accept) + // - 1 byte (temporary_file_tf_id) + FT1_INIT_ACK, + + // data fragment + // - 1 byte (temporary_file_tf_id) + // - 2 bytes (sequece id) + // - X bytes (the data fragment) + FT1_DATA, + + // acknowlage data fragments + // - 1 byte (temporary_file_tf_id) + // - 1 byte (number of sequence ids to ack, this kind of depends on window size) + // - array [ (of sequece ids) + // - 2 bytes (sequece id) + // - ] + FT1_DATA_ACK, + + // sender has gotten every data fragment acked, so we signal finish + // - 1 byte (temporary_file_tf_id) + FT1_DATA_FIN, + + // and we ack that, we need this, so file_id is not reused earlier + // - 1 byte (temporary_file_tf_id) + FT1_DATA_FIN_ACK, }; static const char* _pkgid2str(_PacketType type) {