#include <memory>
#include <string>
-
+#include <exception>
#include "bios.h"
+#include "io/opensslBIO.h"
#define RECORD_HEADER_SIZE 17
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();
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::shared_ptr<std::ostream> log );
+std::string parseCommand( RecordHeader& head, const std::string& input );
+std::string parseCommandChunked( RecordHeader& head, std::shared_ptr<OpensslBIOWrapper> conn );
-void sendCommand( RecordHeader& head, const std::string& data, std::shared_ptr<OpensslBIO> bio, std::shared_ptr<std::ostream> log );
+void sendCommand( RecordHeader& head, const std::string& data, std::shared_ptr<OpensslBIO> bio );