#include "opensslBIO.h"
#include <log/logger.hpp>
-OpensslBIOWrapper::OpensslBIOWrapper( std::shared_ptr<BIO> _b ) : b( _b ), buffer( 2*0xFFFF+20, 0 ), pos(0) {
+OpensslBIOWrapper::OpensslBIOWrapper( std::shared_ptr<BIO> _b ) : b( _b ), buffer( 2 * 0xFFFF + 20, 0 ), pos( 0 ) {
}
OpensslBIOWrapper::~OpensslBIOWrapper() {
const char* OpensslBIOWrapper::getName() {
return "OpenSSLWrapper";
}
-std::string OpensslBIOWrapper::readLine(){
+std::string OpensslBIOWrapper::readLine() {
int target = 0;
- while(1){
- logger::debug("doing data");
- while(target < pos){
- if(buffer[target] == '\n'){
+
+ while( 1 ) {
+ logger::debug( "doing data" );
+
+ while( target < pos ) {
+ if( buffer[target] == '\n' ) {
target++;
- std::string res(buffer.data(), 0, target);
- std::copy(buffer.data() + target, buffer.data() + pos, buffer.data() );
+ std::string res( buffer.data(), 0, target );
+ std::copy( buffer.data() + target, buffer.data() + pos, buffer.data() );
pos -= target;
- logger::debug("emit");
+ logger::debug( "emit" );
return res;
}
+
target++;
}
+
std::stringstream ss;
ss << "target: " << target << ", pos:" << pos;
- logger::debug(ss.str());
- int dlen = read(buffer.data() + pos, buffer.size() - pos);
- if ( dlen <= 0 ){
+ logger::debug( ss.str() );
+ int dlen = read( buffer.data() + pos, buffer.size() - pos );
+
+ if( dlen <= 0 ) {
throw eof_exception();
}
+
std::stringstream ss2;
ss2 << "done: " << dlen;
- logger::debug(ss2.str());
+ logger::debug( ss2.str() );
pos += dlen;
}
}