more code
This commit is contained in:
parent
787e166215
commit
4fdb37e887
|
@ -1191,6 +1191,26 @@ struct SCompressor {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static int32_t tTwoStageComp(SCompressor *pCmprsor, int32_t *szComp) {
|
||||||
|
int32_t code = 0;
|
||||||
|
|
||||||
|
if (pCmprsor->autoAlloc && (code = tRealloc(&pCmprsor->aBuf[0], pCmprsor->nBuf + 1))) {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
*szComp = LZ4_compress_default(pCmprsor->pBuf, pCmprsor->aBuf[0] + 1, pCmprsor->nBuf, pCmprsor->nBuf);
|
||||||
|
if (*szComp && *szComp < pCmprsor->nBuf) {
|
||||||
|
pCmprsor->aBuf[0][0] = 1;
|
||||||
|
*szComp += 1;
|
||||||
|
} else {
|
||||||
|
pCmprsor->aBuf[0][0] = 0;
|
||||||
|
memcpy(pCmprsor->aBuf[0] + 1, pCmprsor->pBuf, pCmprsor->nBuf);
|
||||||
|
*szComp = pCmprsor->nBuf + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
// Timestamp =====================================================
|
// Timestamp =====================================================
|
||||||
static int32_t tCompTimestampStart(SCompressor *pCmprsor, int8_t type, int8_t cmprAlg) {
|
static int32_t tCompTimestampStart(SCompressor *pCmprsor, int8_t type, int8_t cmprAlg) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
@ -1205,7 +1225,7 @@ static int32_t tCompTimestampStart(SCompressor *pCmprsor, int8_t type, int8_t cm
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int32_t tCompSwitchToCopyMode(SCompressor *pCmprsor) {
|
static int32_t tCompTSSwitchToCopy(SCompressor *pCmprsor) {
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
if (pCmprsor->nVal == 0) goto _exit;
|
if (pCmprsor->nVal == 0) goto _exit;
|
||||||
|
@ -1271,14 +1291,14 @@ static int32_t tCompTimestamp(SCompressor *pCmprsor, const void *pData, int32_t
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!I64_SAFE_ADD(ts, -pCmprsor->ts_prev_val)) {
|
if (!I64_SAFE_ADD(ts, -pCmprsor->ts_prev_val)) {
|
||||||
code = tCompSwitchToCopyMode(pCmprsor);
|
code = tCompTSSwitchToCopy(pCmprsor);
|
||||||
if (code) return code;
|
if (code) return code;
|
||||||
goto _copy_cmpr;
|
goto _copy_cmpr;
|
||||||
}
|
}
|
||||||
int64_t delta = ts - pCmprsor->ts_prev_val;
|
int64_t delta = ts - pCmprsor->ts_prev_val;
|
||||||
|
|
||||||
if (!I64_SAFE_ADD(delta, -pCmprsor->ts_prev_delta)) {
|
if (!I64_SAFE_ADD(delta, -pCmprsor->ts_prev_delta)) {
|
||||||
code = tCompSwitchToCopyMode(pCmprsor);
|
code = tCompTSSwitchToCopy(pCmprsor);
|
||||||
if (code) return code;
|
if (code) return code;
|
||||||
goto _copy_cmpr;
|
goto _copy_cmpr;
|
||||||
}
|
}
|
||||||
|
@ -1328,25 +1348,14 @@ static int32_t tCompTimestampEnd(SCompressor *pCmprsor, const uint8_t **ppData,
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
if (pCmprsor->nBuf >= sizeof(int64_t) * pCmprsor->nVal + 1 && pCmprsor->pBuf[0] == 1) {
|
if (pCmprsor->nBuf >= sizeof(int64_t) * pCmprsor->nVal + 1 && pCmprsor->pBuf[0] == 1) {
|
||||||
code = tCompSwitchToCopyMode(pCmprsor);
|
code = tCompTSSwitchToCopy(pCmprsor);
|
||||||
if (code) return code;
|
if (code) return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pCmprsor->cmprAlg == TWO_STAGE_COMP) {
|
if (pCmprsor->cmprAlg == TWO_STAGE_COMP) {
|
||||||
if (pCmprsor->autoAlloc && (code = tRealloc(&pCmprsor->aBuf[0], pCmprsor->nBuf + 1))) {
|
code = tTwoStageComp(pCmprsor, nData);
|
||||||
return code;
|
if (code) return code;
|
||||||
}
|
|
||||||
|
|
||||||
*ppData = pCmprsor->aBuf[0];
|
*ppData = pCmprsor->aBuf[0];
|
||||||
int32_t szComp = LZ4_compress_default(pCmprsor->pBuf, pCmprsor->aBuf[0] + 1, pCmprsor->nBuf, pCmprsor->nBuf);
|
|
||||||
if (szComp && szComp < pCmprsor->nBuf) {
|
|
||||||
pCmprsor->aBuf[0][0] = 1;
|
|
||||||
*nData = szComp + 1;
|
|
||||||
} else {
|
|
||||||
pCmprsor->aBuf[0][0] = 0;
|
|
||||||
memcpy(pCmprsor->aBuf[0] + 1, pCmprsor->pBuf, pCmprsor->nBuf);
|
|
||||||
*nData = pCmprsor->nBuf + 1;
|
|
||||||
}
|
|
||||||
} else if (pCmprsor->cmprAlg == ONE_STAGE_COMP) {
|
} else if (pCmprsor->cmprAlg == ONE_STAGE_COMP) {
|
||||||
*ppData = pCmprsor->pBuf;
|
*ppData = pCmprsor->pBuf;
|
||||||
*nData = pCmprsor->nBuf;
|
*nData = pCmprsor->nBuf;
|
||||||
|
@ -1498,20 +1507,9 @@ static int32_t tCompIntEnd(SCompressor *pCmprsor, const uint8_t **ppData, int32_
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pCmprsor->cmprAlg == TWO_STAGE_COMP) {
|
if (pCmprsor->cmprAlg == TWO_STAGE_COMP) {
|
||||||
if (pCmprsor->autoAlloc && (code = tRealloc(&pCmprsor->aBuf[0], pCmprsor->nBuf + 1))) {
|
code = tTwoStageComp(pCmprsor, nData);
|
||||||
return code;
|
if (code) return code;
|
||||||
}
|
|
||||||
|
|
||||||
*ppData = pCmprsor->aBuf[0];
|
*ppData = pCmprsor->aBuf[0];
|
||||||
int32_t szComp = LZ4_compress_default(pCmprsor->pBuf, pCmprsor->aBuf[0] + 1, pCmprsor->nBuf, pCmprsor->nBuf);
|
|
||||||
if (szComp && szComp < pCmprsor->nBuf) {
|
|
||||||
pCmprsor->aBuf[0][0] = 1;
|
|
||||||
*nData = szComp + 1;
|
|
||||||
} else {
|
|
||||||
pCmprsor->aBuf[0][0] = 0;
|
|
||||||
memcpy(pCmprsor->aBuf[0] + 1, pCmprsor->pBuf, pCmprsor->nBuf);
|
|
||||||
*nData = pCmprsor->nBuf + 1;
|
|
||||||
}
|
|
||||||
} else if (pCmprsor->cmprAlg == ONE_STAGE_COMP) {
|
} else if (pCmprsor->cmprAlg == ONE_STAGE_COMP) {
|
||||||
*ppData = pCmprsor->pBuf;
|
*ppData = pCmprsor->pBuf;
|
||||||
*nData = pCmprsor->nBuf;
|
*nData = pCmprsor->nBuf;
|
||||||
|
@ -1662,20 +1660,9 @@ static int32_t tCompFloatEnd(SCompressor *pCmprsor, const uint8_t **ppData, int3
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pCmprsor->cmprAlg == TWO_STAGE_COMP) {
|
if (pCmprsor->cmprAlg == TWO_STAGE_COMP) {
|
||||||
if (pCmprsor->autoAlloc && (code = tRealloc(&pCmprsor->aBuf[0], pCmprsor->nBuf + 1))) {
|
code = tTwoStageComp(pCmprsor, nData);
|
||||||
return code;
|
if (code) return code;
|
||||||
}
|
|
||||||
|
|
||||||
*ppData = pCmprsor->aBuf[0];
|
*ppData = pCmprsor->aBuf[0];
|
||||||
int32_t szComp = LZ4_compress_default(pCmprsor->pBuf, pCmprsor->aBuf[0] + 1, pCmprsor->nBuf, pCmprsor->nBuf);
|
|
||||||
if (szComp && szComp < pCmprsor->nBuf) {
|
|
||||||
pCmprsor->aBuf[0][0] = 1;
|
|
||||||
*nData = szComp + 1;
|
|
||||||
} else {
|
|
||||||
pCmprsor->aBuf[0][0] = 0;
|
|
||||||
memcpy(pCmprsor->aBuf[0] + 1, pCmprsor->pBuf, pCmprsor->nBuf);
|
|
||||||
*nData = pCmprsor->nBuf + 1;
|
|
||||||
}
|
|
||||||
} else if (pCmprsor->cmprAlg == ONE_STAGE_COMP) {
|
} else if (pCmprsor->cmprAlg == ONE_STAGE_COMP) {
|
||||||
*ppData = pCmprsor->pBuf;
|
*ppData = pCmprsor->pBuf;
|
||||||
*nData = pCmprsor->nBuf;
|
*nData = pCmprsor->nBuf;
|
||||||
|
@ -1826,20 +1813,9 @@ static int32_t tCompDoubleEnd(SCompressor *pCmprsor, const uint8_t **ppData, int
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pCmprsor->cmprAlg == TWO_STAGE_COMP) {
|
if (pCmprsor->cmprAlg == TWO_STAGE_COMP) {
|
||||||
if (pCmprsor->autoAlloc && (code = tRealloc(&pCmprsor->aBuf[0], pCmprsor->nBuf + 1))) {
|
code = tTwoStageComp(pCmprsor, nData);
|
||||||
return code;
|
if (code) return code;
|
||||||
}
|
|
||||||
|
|
||||||
*ppData = pCmprsor->aBuf[0];
|
*ppData = pCmprsor->aBuf[0];
|
||||||
int32_t szComp = LZ4_compress_default(pCmprsor->pBuf, pCmprsor->aBuf[0] + 1, pCmprsor->nBuf, pCmprsor->nBuf);
|
|
||||||
if (szComp && szComp < pCmprsor->nBuf) {
|
|
||||||
pCmprsor->aBuf[0][0] = 1;
|
|
||||||
*nData = szComp + 1;
|
|
||||||
} else {
|
|
||||||
pCmprsor->aBuf[0][0] = 0;
|
|
||||||
memcpy(pCmprsor->aBuf[0] + 1, pCmprsor->pBuf, pCmprsor->nBuf);
|
|
||||||
*nData = pCmprsor->nBuf + 1;
|
|
||||||
}
|
|
||||||
} else if (pCmprsor->cmprAlg == ONE_STAGE_COMP) {
|
} else if (pCmprsor->cmprAlg == ONE_STAGE_COMP) {
|
||||||
*ppData = pCmprsor->pBuf;
|
*ppData = pCmprsor->pBuf;
|
||||||
*nData = pCmprsor->nBuf;
|
*nData = pCmprsor->nBuf;
|
||||||
|
@ -1931,21 +1907,9 @@ static int32_t tCompBoolEnd(SCompressor *pCmprsor, const uint8_t **ppData, int32
|
||||||
int32_t code = 0;
|
int32_t code = 0;
|
||||||
|
|
||||||
if (pCmprsor->cmprAlg == TWO_STAGE_COMP) {
|
if (pCmprsor->cmprAlg == TWO_STAGE_COMP) {
|
||||||
if (pCmprsor->autoAlloc && (code = tRealloc(&pCmprsor->aBuf[0], pCmprsor->nBuf + 1))) {
|
code = tTwoStageComp(pCmprsor, nData);
|
||||||
return code;
|
if (code) return code;
|
||||||
}
|
|
||||||
|
|
||||||
*ppData = pCmprsor->aBuf[0];
|
*ppData = pCmprsor->aBuf[0];
|
||||||
|
|
||||||
int32_t szComp = LZ4_compress_default(pCmprsor->pBuf, pCmprsor->aBuf[0] + 1, pCmprsor->nBuf, pCmprsor->nBuf);
|
|
||||||
if (szComp && szComp < pCmprsor->nBuf) {
|
|
||||||
pCmprsor->aBuf[0][0] = 1;
|
|
||||||
*nData = szComp + 1;
|
|
||||||
} else {
|
|
||||||
pCmprsor->aBuf[0][0] = 0;
|
|
||||||
memcpy(pCmprsor->aBuf[0] + 1, pCmprsor->pBuf, pCmprsor->nBuf);
|
|
||||||
*nData = pCmprsor->nBuf + 1;
|
|
||||||
}
|
|
||||||
} else if (pCmprsor->cmprAlg == ONE_STAGE_COMP) {
|
} else if (pCmprsor->cmprAlg == ONE_STAGE_COMP) {
|
||||||
*ppData = pCmprsor->pBuf;
|
*ppData = pCmprsor->pBuf;
|
||||||
*nData = pCmprsor->nBuf;
|
*nData = pCmprsor->nBuf;
|
||||||
|
|
Loading…
Reference in New Issue