X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FSocket%2FReadWritePolicy.cc;h=a573e5d0f863a56d791728780b7fffc7fb2536ed;hb=refs%2Fheads%2Fmaster;hp=bc10b74dfaec8aec33e5528bf2c5e79783f3d5c2;hpb=ab7ff164ab5ae711ec09ce2b24228510f1ffdcff;p=senf.git diff --git a/senf/Socket/ReadWritePolicy.cc b/senf/Socket/ReadWritePolicy.cc index bc10b74..a573e5d 100644 --- a/senf/Socket/ReadWritePolicy.cc +++ b/senf/Socket/ReadWritePolicy.cc @@ -30,6 +30,8 @@ */ #include "ReadWritePolicy.hh" +#include "senf/Utils/hexdump.hh" +#include "senf/Utils/String.hh" //#include "ReadWritePolicy.ih" // Custom includes @@ -38,7 +40,6 @@ #include #include - //#include "ReadWritePolicy.mpp" #define prefix_ //-///////////////////////////////////////////////////////////////////////////////////////////////// @@ -58,7 +59,7 @@ prefix_ unsigned senf::ReadablePolicy::read(FileHandle & handle, char * buffer, rv = 0; break; default: - SENF_THROW_SYSTEM_EXCEPTION(""); + SENF_THROW_SYSTEM_EXCEPTION(":::read"); } } while (rv<0); return rv; @@ -79,7 +80,7 @@ prefix_ unsigned senf::ReadablePolicy::do_readfrom(FileHandle & handle, char * b rv = 0; break; default: - SENF_THROW_SYSTEM_EXCEPTION(""); + SENF_THROW_SYSTEM_EXCEPTION("::recvfrom"); } } while (rv<0); return rv; @@ -108,7 +109,7 @@ prefix_ unsigned senf::WriteablePolicy::do_write(FileHandle & handle, char const rv = 0; break; default: - SENF_THROW_SYSTEM_EXCEPTION(""); + SENF_THROW_SYSTEM_EXCEPTION("::write"); } } while (rv<0); return rv; @@ -132,7 +133,10 @@ prefix_ unsigned senf::WriteablePolicy::do_writeto(FileHandle & handle, rv = 0; break; default: - SENF_THROW_SYSTEM_EXCEPTION(""); + std::stringstream a, b; + senf::hexdump( (char*) addr , ((char*) addr) + len , a); + senf::hexdump( (char*) buffer , ((char*) buffer) + size , b); + SENF_THROW_SYSTEM_EXCEPTION("::sendto(" + b.str() + ") to " + a.str()); } } while (rv<0); return rv;