binlog fixes
PIBinaryStream doc remove makePIPair rename bytesAvailable
This commit is contained in:
@@ -46,15 +46,20 @@
|
||||
//! \~\brief
|
||||
//! \~english Binary serialization interface.
|
||||
//! \~russian Интерфейс бинарной сериализации.
|
||||
//! \~\details
|
||||
//! \~english In your class you should implement this methods:
|
||||
//! \~russian В производном классе вы должны реализовать следующие методы:
|
||||
//! \~\code
|
||||
//! bool binaryStreamAppendImp (const void * d, size_t s);
|
||||
//! bool binaryStreamTakeImp (void * d, size_t s);
|
||||
//! ssize_t binaryStreamSizeImp () const;
|
||||
//! \endcode
|
||||
//! \~english function binaryStreamSizeImp must return -1 if size unknown
|
||||
//! \~russian функция binaryStreamSizeImp должна возвращать -1 если нет информации о размере
|
||||
template<typename P>
|
||||
class PIBinaryStream {
|
||||
public:
|
||||
// one should implement next methods:
|
||||
//
|
||||
// bool binaryStreamAppendImp (const void * d, size_t s);
|
||||
// bool binaryStreamTakeImp (void * d, size_t s);
|
||||
// ssize_t binaryStreamSizeImp () const;
|
||||
|
||||
//! \~russian Записать данные
|
||||
bool binaryStreamAppend(const void * d, size_t s) {
|
||||
if (!static_cast<P*>(this)->binaryStreamAppendImp(d, s)) {
|
||||
return false;
|
||||
@@ -62,6 +67,7 @@ public:
|
||||
}
|
||||
return true;
|
||||
}
|
||||
//! \~russian Прочитать данные
|
||||
bool binaryStreamTake(void * d, size_t s) {
|
||||
if (!static_cast<P*>(this)->binaryStreamTakeImp(d, s)) {
|
||||
return false;
|
||||
@@ -70,12 +76,18 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
//! \~russian Узнать оставшийся размер
|
||||
//!\~\details
|
||||
//!\~russian возвращает -1 если нет информации о размере
|
||||
ssize_t binaryStreamSize() const {
|
||||
return static_cast<P*>(this)->binaryStreamSizeImp();
|
||||
}
|
||||
|
||||
//! \~russian Записать данные
|
||||
template<typename T>
|
||||
void binaryStreamAppend(T v) {binaryStreamAppend(&v, sizeof(v));}
|
||||
|
||||
//! \~russian Прочитать int
|
||||
int binaryStreamTakeInt() {
|
||||
int r = 0;
|
||||
binaryStreamTake(&r, sizeof(r));
|
||||
|
||||
Reference in New Issue
Block a user