refactor: use std::mutex in deskflow/PacketStreamFilter
This commit is contained in:
parent
86e109baf5
commit
818d588b65
2 changed files with 10 additions and 10 deletions
|
|
@ -9,7 +9,6 @@
|
||||||
#include "base/IEventQueue.h"
|
#include "base/IEventQueue.h"
|
||||||
#include "base/TMethodEventJob.h"
|
#include "base/TMethodEventJob.h"
|
||||||
#include "deskflow/ProtocolTypes.h"
|
#include "deskflow/ProtocolTypes.h"
|
||||||
#include "mt/Lock.h"
|
|
||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
@ -27,7 +26,7 @@ PacketStreamFilter::PacketStreamFilter(IEventQueue *events, deskflow::IStream *s
|
||||||
|
|
||||||
void PacketStreamFilter::close()
|
void PacketStreamFilter::close()
|
||||||
{
|
{
|
||||||
Lock lock(&m_mutex);
|
std::lock_guard<std::mutex> lock(m_mutex);
|
||||||
m_size = 0;
|
m_size = 0;
|
||||||
m_buffer.pop(m_buffer.getSize());
|
m_buffer.pop(m_buffer.getSize());
|
||||||
StreamFilter::close();
|
StreamFilter::close();
|
||||||
|
|
@ -39,7 +38,7 @@ uint32_t PacketStreamFilter::read(void *buffer, uint32_t n)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Lock lock(&m_mutex);
|
std::lock_guard<std::mutex> lock(m_mutex);
|
||||||
|
|
||||||
// if not enough data yet then give up
|
// if not enough data yet then give up
|
||||||
if (!isReadyNoLock()) {
|
if (!isReadyNoLock()) {
|
||||||
|
|
@ -85,7 +84,7 @@ void PacketStreamFilter::write(const void *buffer, uint32_t count)
|
||||||
|
|
||||||
void PacketStreamFilter::shutdownInput()
|
void PacketStreamFilter::shutdownInput()
|
||||||
{
|
{
|
||||||
Lock lock(&m_mutex);
|
std::lock_guard<std::mutex> lock(m_mutex);
|
||||||
m_size = 0;
|
m_size = 0;
|
||||||
m_buffer.pop(m_buffer.getSize());
|
m_buffer.pop(m_buffer.getSize());
|
||||||
StreamFilter::shutdownInput();
|
StreamFilter::shutdownInput();
|
||||||
|
|
@ -93,13 +92,13 @@ void PacketStreamFilter::shutdownInput()
|
||||||
|
|
||||||
bool PacketStreamFilter::isReady() const
|
bool PacketStreamFilter::isReady() const
|
||||||
{
|
{
|
||||||
Lock lock(&m_mutex);
|
std::lock_guard<std::mutex> lock(m_mutex);
|
||||||
return isReadyNoLock();
|
return isReadyNoLock();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t PacketStreamFilter::getSize() const
|
uint32_t PacketStreamFilter::getSize() const
|
||||||
{
|
{
|
||||||
Lock lock(&m_mutex);
|
std::lock_guard<std::mutex> lock(m_mutex);
|
||||||
return isReadyNoLock() ? m_size : 0;
|
return isReadyNoLock() ? m_size : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -158,13 +157,13 @@ bool PacketStreamFilter::readMore()
|
||||||
void PacketStreamFilter::filterEvent(const Event &event)
|
void PacketStreamFilter::filterEvent(const Event &event)
|
||||||
{
|
{
|
||||||
if (event.getType() == EventTypes::StreamInputReady) {
|
if (event.getType() == EventTypes::StreamInputReady) {
|
||||||
Lock lock(&m_mutex);
|
std::lock_guard<std::mutex> lock(m_mutex);
|
||||||
if (!readMore()) {
|
if (!readMore()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else if (event.getType() == EventTypes::StreamInputShutdown) {
|
} else if (event.getType() == EventTypes::StreamInputShutdown) {
|
||||||
// discard this if we have buffered data
|
// discard this if we have buffered data
|
||||||
Lock lock(&m_mutex);
|
std::lock_guard<std::mutex> lock(m_mutex);
|
||||||
m_inputShutdown = true;
|
m_inputShutdown = true;
|
||||||
if (m_size != 0) {
|
if (m_size != 0) {
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@
|
||||||
|
|
||||||
#include "io/StreamBuffer.h"
|
#include "io/StreamBuffer.h"
|
||||||
#include "io/StreamFilter.h"
|
#include "io/StreamFilter.h"
|
||||||
#include "mt/Mutex.h"
|
|
||||||
|
#include <mutex>
|
||||||
|
|
||||||
class IEventQueue;
|
class IEventQueue;
|
||||||
|
|
||||||
|
|
@ -41,7 +42,7 @@ private:
|
||||||
bool readMore();
|
bool readMore();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Mutex m_mutex;
|
mutable std::mutex m_mutex;
|
||||||
uint32_t m_size = 0;
|
uint32_t m_size = 0;
|
||||||
StreamBuffer m_buffer;
|
StreamBuffer m_buffer;
|
||||||
bool m_inputShutdown = false;
|
bool m_inputShutdown = false;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue