]> WPIA git - cassiopeia.git/blobdiff - src/io/record.h
Merge "fmt: whitespace, padding and indentation formatting"
[cassiopeia.git] / src / io / record.h
index d56708aa9a768f84d453200f6c390e670c25c078..5d6e659b7439689157c704a303eefbf7cfcc0d64 100644 (file)
@@ -4,7 +4,7 @@
 
 #include <memory>
 #include <string>
-
+#include <exception>
 #include "bios.h"
 #include "io/opensslBIO.h"
 
@@ -90,7 +90,7 @@ public:
 
     void unpackFromString( const std::string& str ) {
         if( str.size() != RECORD_HEADER_SIZE ) {
-            throw "Invalid string length";
+            throw std::runtime_error( "Invalid string length" );
         }
 
         auto it =  str.cbegin();
@@ -102,10 +102,12 @@ public:
         read( it, offset );
         read( it, payloadLength );
     }
-
+    bool isFollowupOf( const RecordHeader& head ) {
+        return head.command == command && head.flags == flags && head.sessid == sessid && head.command_count == command_count && head.totalLength == totalLength && head.offset + 1 == offset;
+    }
 };
 
 std::string parseCommand( RecordHeader& head, const std::string& input );
-std::string parseCommandChunked( RecordHeader& head, std::shared_ptr<OpensslBIOWrapper> conn);
+std::string parseCommandChunked( RecordHeader& head, std::shared_ptr<OpensslBIOWrapper> conn );
 
 void sendCommand( RecordHeader& head, const std::string& data, std::shared_ptr<OpensslBIO> bio );