add explicit constructor

pull/598/head
Jeff Becker 5 years ago
parent 9d7ff9b35e
commit 9b379a1659
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -154,6 +154,17 @@ extern "C"
// For utp_writev, to writes data from multiple buffers
struct utp_iovec
{
#ifdef __cplusplus
utp_iovec() : iov_base(nullptr), iov_len(0)
{
}
utp_iovec(const utp_iovec &other)
: iov_base(other.iov_base), iov_len(other.iov_len)
{
}
#endif
void *iov_base;
size_t iov_len;
};

@ -5,8 +5,7 @@
namespace llarp
{
/// type for comparing smart pointer's managed values
template < typename Ptr_t,
typename Compare = std::less<> >
template < typename Ptr_t, typename Compare = std::less<> >
struct ComparePtr
{
bool

@ -32,15 +32,15 @@ namespace llarp
if(!sock)
return;
ssize_t expect = 0;
std::vector< utp_iovec > vecs;
std::vector< utp_iovec > send;
for(const auto& vec : vecq)
{
expect += vec.iov_len;
vecs.emplace_back(vec);
send.emplace_back(vec);
}
if(expect)
{
ssize_t s = utp_writev(sock, vecs.data(), vecs.size());
ssize_t s = utp_writev(sock, send.data(), send.size());
if(s < 0)
return;
if(s > 0)

Loading…
Cancel
Save