修正压缩算法解析出错的问题
This commit is contained in:
@@ -51,7 +51,7 @@ namespace Transmission {
|
||||
if (!dataPackets.ParseFromArray(buff.get(), this->packSize))
|
||||
throw PrepareDataException("反序列化出错");
|
||||
this->packSize = -1;
|
||||
switch (dataPackets.type()) {
|
||||
switch (dataPackets.algorithm()) {
|
||||
//无压缩
|
||||
case CompressAlgorithm::NOT: {
|
||||
auto pack = copyMem(dataPackets.data());
|
||||
|
||||
@@ -9,6 +9,15 @@
|
||||
static bool isExec = false;
|
||||
static const char *shortStr = "Client Hello";
|
||||
static const char *LongStr = "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello";
|
||||
static const char *LongLongStr = "Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello"
|
||||
"Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello"
|
||||
"Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello"
|
||||
"Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello"
|
||||
"Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello"
|
||||
"Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello"
|
||||
"Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello"
|
||||
"Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello"
|
||||
"Client HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient HelloClient Hello";
|
||||
|
||||
class Transmit : public Transmission::Transmit {
|
||||
private:
|
||||
@@ -23,7 +32,9 @@ public:
|
||||
ASSERT_TRUE(strcmp((char *) data.get(), shortStr) == 0);
|
||||
else if (type == 2)
|
||||
ASSERT_TRUE(strcmp((char *) data.get(), LongStr) == 0);
|
||||
else
|
||||
else if (type == 3) {
|
||||
ASSERT_TRUE(strcmp((char *) data.get(), LongLongStr) == 0);
|
||||
} else
|
||||
ASSERT_TRUE(false);
|
||||
isExec = true;
|
||||
}
|
||||
@@ -62,4 +73,8 @@ TEST(Transmit测试, 1) {
|
||||
transmitWrite.sendData((unsigned char *) LongStr, strlen(LongStr) + 1, 2);
|
||||
transmitRead.read();
|
||||
ASSERT_TRUE(isExec);
|
||||
isExec = false;
|
||||
transmitWrite.sendData((unsigned char *) LongLongStr, strlen(LongLongStr) + 1, 3);
|
||||
transmitRead.read();
|
||||
ASSERT_TRUE(isExec);
|
||||
}
|
||||
Reference in New Issue
Block a user