Skip to content

Commit 1d45a32

Browse files
author
release
committed
release130.21
1 parent 0ee7aff commit 1d45a32

File tree

82 files changed

+37127
-12147
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+37127
-12147
lines changed

README.md

Lines changed: 152 additions & 265 deletions
Large diffs are not rendered by default.

README_CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ Windows Desktop->Dynamic Link Library (DLL)
8383

8484
#### 添加下面的宏定义
8585

86-
C/C++ -> 预处理器 -> 预处理器定义 ->WIN32_LEAN_AND_MEAN; _WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WINDOWS;NOMINMAX;NDEBUG;CPPAPI_EXPORTS;_WINDOWS;_USRDLL;
86+
C/C++ -> 预处理器 -> 预处理器定义 ->WIN32_LEAN_AND_MEAN; _WINSOCK_DEPRECATED_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;WINDOWS;NOMINMAX;NDEBUG;CPPAPI_EXPORTS;_WINDOWS;_DDBAPIDLL;
8787

8888

8989

-4.43 MB
Binary file not shown.
4.67 MB
Binary file not shown.
4.7 MB
Binary file not shown.
-4.46 MB
Binary file not shown.
185 KB
Binary file not shown.

include/BatchTableWriter.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
#include <cassert>
1616

1717
#ifdef _MSC_VER
18-
#ifdef _USRDLL
18+
#ifdef _DDBAPIDLL
1919
#define EXPORT_DECL _declspec(dllexport)
2020
#else
2121
#define EXPORT_DECL __declspec(dllimport)

include/Compress.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,23 +37,24 @@ class CompressEncoderDecoder {
3737
public:
3838
virtual IO_ERR decode(DataInputStreamSP compressSrc, DataOutputStreamSP &uncompressResult, const CompressionFactory::Header &header) = 0;
3939
virtual IO_ERR encodeContent(const VectorSP &vec, const DataOutputStreamSP &compressResult, CompressionFactory::Header &header, bool checkSum) = 0;
40+
virtual ~CompressEncoderDecoder(){}
4041
};
4142

4243
class CompressLZ4 : public CompressEncoderDecoder {
4344
public:
44-
virtual IO_ERR decode(DataInputStreamSP compressSrc, DataOutputStreamSP &uncompressResult, const CompressionFactory::Header &header);
45-
virtual IO_ERR encodeContent(const VectorSP &vec, const DataOutputStreamSP &compressResult, CompressionFactory::Header &header, bool checkSum);
46-
~CompressLZ4();
45+
virtual IO_ERR decode(DataInputStreamSP compressSrc, DataOutputStreamSP &uncompressResult, const CompressionFactory::Header &header) override;
46+
virtual IO_ERR encodeContent(const VectorSP &vec, const DataOutputStreamSP &compressResult, CompressionFactory::Header &header, bool checkSum) override;
47+
virtual ~CompressLZ4() override;
4748
private:
4849
char * newBuffer(int size);
4950
std::vector<char*> tempBufList_;
5051
};
5152

5253
class CompressDeltaofDelta : public CompressEncoderDecoder {
5354
public:
54-
virtual IO_ERR decode(DataInputStreamSP compressSrc, DataOutputStreamSP &uncompressResult, const CompressionFactory::Header &header);
55-
virtual IO_ERR encodeContent(const VectorSP &vec, const DataOutputStreamSP &compressResult, CompressionFactory::Header &header, bool checkSum);
56-
~CompressDeltaofDelta();
55+
virtual IO_ERR decode(DataInputStreamSP compressSrc, DataOutputStreamSP &uncompressResult, const CompressionFactory::Header &header) override;
56+
virtual IO_ERR encodeContent(const VectorSP &vec, const DataOutputStreamSP &compressResult, CompressionFactory::Header &header, bool checkSum) override;
57+
virtual ~CompressDeltaofDelta() override;
5758
private:
5859
char * newBuffer(int size);
5960
std::vector<char*> tempBufList_;

include/Concurrent.h

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include <cassert>
1414
#include <algorithm>
1515
#include <memory>
16+
#include <functional>
1617

1718
#ifdef WINDOWS
1819
#include <winsock2.h>
@@ -26,7 +27,7 @@
2627
#include "SmartPointer.h"
2728

2829
#ifdef _MSC_VER
29-
#ifdef _USRDLL
30+
#ifdef _DDBAPIDLL
3031
#define EXPORT_DECL _declspec(dllexport)
3132
#else
3233
#define EXPORT_DECL __declspec(dllimport)
@@ -59,6 +60,17 @@ class EXPORT_DECL Runnable{
5960
std::atomic<char> status_;
6061
};
6162

63+
class EXPORT_DECL Executor : public Runnable {
64+
using Func = std::function<void()>;
65+
66+
public:
67+
explicit Executor(Func f) : func_(std::move(f)) {};
68+
void run() override { func_(); };
69+
70+
private:
71+
Func func_;
72+
};
73+
6274
class EXPORT_DECL Mutex{
6375
public:
6476
Mutex();
@@ -87,7 +99,7 @@ class EXPORT_DECL RWLock{
8799
void releaseRead();
88100
void releaseWrite();
89101
bool tryAcquireRead();
90-
bool tryAcqurieWrite();
102+
bool tryAcquireWrite();
91103
private:
92104
#ifdef WINDOWS
93105
SRWLOCK lock_;
@@ -171,8 +183,8 @@ class TryLockGuard{
171183
template<class T>
172184
class RWLockGuard{
173185
public:
174-
RWLockGuard(T* res, bool exclusive, bool acquireLock = true):res_(res), exclusive_(exclusive){
175-
if(res != NULL && acquireLock){
186+
RWLockGuard(T* res, bool exclusive, bool acquireLock = true):res_(res), exclusive_(exclusive), acquireLock_(acquireLock){
187+
if(res != NULL && acquireLock_){
176188
if(exclusive_)
177189
res_->acquireWrite();
178190
else
@@ -181,7 +193,7 @@ class RWLockGuard{
181193
}
182194

183195
void upgrade(){
184-
if(res_ != NULL){
196+
if(res_ != NULL && acquireLock_){
185197
if(exclusive_)
186198
return;
187199
else{
@@ -193,7 +205,7 @@ class RWLockGuard{
193205
}
194206

195207
~RWLockGuard(){
196-
if(res_ != NULL){
208+
if(res_ != NULL && acquireLock_){
197209
if(exclusive_)
198210
res_->releaseWrite();
199211
else
@@ -203,6 +215,7 @@ class RWLockGuard{
203215
private:
204216
T* res_;
205217
bool exclusive_;
218+
bool acquireLock_;
206219
};
207220

208221
template<class T>

0 commit comments

Comments
 (0)