18.03.2013 - Bug fixes, add in/out speed diagnostic to PIProtocol, fixed PIConsole tab switch segfault, PIObject EVENT / EVENT_HANDLER mechanism update - new EVENT macros that use EVENT_HANDLER with raiseEvent implementation.
This allow compile check event for CONNECT and use EVENT as CONNECT target, also raise event now is simple execute EVENT function.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
PIP - Platform Independent Primitives
|
||||
Packets extractor
|
||||
Copyright (C) 2012 Ivan Pelipenko peri4ko@gmail.com
|
||||
Copyright (C) 2013 Ivan Pelipenko peri4ko@gmail.com
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -30,18 +30,19 @@ class PIPacketExtractor: public PIIODevice
|
||||
{
|
||||
public:
|
||||
PIPacketExtractor(PIIODevice * device_ = 0, void * recHeaderPtr = 0, int recHeaderSize = 0, int recDataSize = 0);
|
||||
virtual ~PIPacketExtractor() {}
|
||||
|
||||
PIIODevice * device() {return dev;}
|
||||
void setDevice(PIIODevice * device_);
|
||||
|
||||
int bufferSize() const {return buffer_size;}
|
||||
void setBufferSize(int new_size) {buffer_size = new_size; buffer.resize(buffer_size); sbuffer.resize(buffer_size);}
|
||||
void setBufferSize(int new_size) {buffer_size = new_size; buffer.resize(buffer_size); sbuffer.resize(buffer_size); memset(buffer.data(), 0, buffer.size()); memset(sbuffer.data(), 0, sbuffer.size());}
|
||||
|
||||
void setHeaderCheckSlot(HeaderCheckFunc f) {ret_func_header = f;}
|
||||
void setPacketData(void * recHeaderPtr, int recHeaderSize, int recDataSize) {headerPtr = recHeaderPtr; headerSize = recHeaderSize; dataSize = recDataSize; packetSize = headerSize + dataSize; if (headerSize > 0) mheader.resize(headerSize);}
|
||||
|
||||
ullong missedBytes() const {return missed;}
|
||||
ullong missedPackets() const {return missed / packetSize;}
|
||||
ullong missedPackets() const {if (packetSize == 0) return missed; return missed / packetSize;}
|
||||
const ullong * missedBytes_ptr() const {return &missed;}
|
||||
const ullong * missedPackets_ptr() const {return &missed_packets;}
|
||||
|
||||
@@ -56,7 +57,7 @@ protected:
|
||||
|
||||
private:
|
||||
bool threadedRead(uchar * readed, int size);
|
||||
bool openDevice() {if (dev == 0) return false; return dev->isOpened();}
|
||||
bool openDevice() {if (dev == 0) return false; return dev->open();}
|
||||
|
||||
PIIODevice * dev;
|
||||
PIByteArray mheader, buffer, sbuffer;
|
||||
|
||||
Reference in New Issue
Block a user