{
ScopeMutex mutex( mutex_object );
SocketOutputStream sos(...);
sos.write(...);
}
class A
{
A(int);
};
class B
{
B( int b )
: A(b)
{}
};
class A
{
virtual void func();
};
class B : public A
{
virtual void func();
};
class C : public B
{
virtual void func()
{
... // какой-т код
A::func();
... /// ещё какой-то код
}
};
Если я правильно разобрался с библиотекой, там по умолчанию создаются блокируемые сокеты, а не блокируемые нужно созавать отдельным методом или вызывать функцию, чтобы сделать сокеты не блокируемыми. Т.е., пока не закончится запись в сокет, другой поток в этот сокет писать не сможет (плюс у меня функция записи обёрнута в мьютекс, чтобы уж наверняка - если это лишнее, потом удалю).
Но, если я правильно понял, отправиться может как бльше, так и меньше байт, чем я пытаюсь передать. И я не понял, от чего это зависит и что мне с этим делать.