diff --git a/source/libs/tcs/inc/tcsInt.h b/source/libs/tcs/inc/tcsInt.h new file mode 100644 index 0000000000..b24a47aa98 --- /dev/null +++ b/source/libs/tcs/inc/tcsInt.h @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2019 TAOS Data, Inc. + * + * This program is free software: you can use, redistribute, and/or modify + * it under the terms of the GNU Affero General Public License, version 3 + * or later ("AGPL"), as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#ifndef _TD_TCS_INT_H_ +#define _TD_TCS_INT_H_ + +#include "os.h" +#include "tarray.h" +#include "tdef.h" +#include "tlog.h" +#include "tmsg.h" + +#ifdef __cplusplus +extern "C" { +#endif + +extern int8_t tsS3Ablob; + +typedef enum { + TOS_PROTO_NIL, + TOS_PROTO_S3, + TOS_PROTO_ABLOB, +} STosProto; + +typedef struct { + int32_t (*Begin)(); + void (*End)(); + int32_t (*CheckCfg)(); + + int32_t (*PutObjectFromFileOffset)(const char* file, const char* object_name, int64_t offset, int64_t size); + int32_t (*GetObjectBlock)(const char* object_name, int64_t offset, int64_t size, bool check, uint8_t** ppBlock); + + void (*DeleteObjectsByPrefix)(const char* prefix); + + int32_t (*PutObjectFromFile2)(const char* file, const char* object, int8_t withcp); + int32_t (*GetObjectsByPrefix)(const char* prefix, const char* path); + int32_t (*DeleteObjects)(const char* object_name[], int nobject); + int32_t (*GetObjectToFile)(const char* object_name, const char* fileName); +} STcs; + +extern STcs tcs; + +#ifdef __cplusplus +} +#endif + +#endif // _TD_TCS_INT_H_ diff --git a/source/libs/tcs/src/tcs.c b/source/libs/tcs/src/tcs.c index 5facffa4ac..c0933f68d0 100644 --- a/source/libs/tcs/src/tcs.c +++ b/source/libs/tcs/src/tcs.c @@ -14,39 +14,15 @@ */ #include "tcs.h" - #include "os.h" #include "taoserror.h" +#include "tcsInt.h" #include "tglobal.h" #include "az.h" #include "cos.h" -extern int8_t tsS3Ablob; - -typedef enum { - TOS_PROTO_NIL, - TOS_PROTO_S3, - TOS_PROTO_ABLOB, -} STosProto; - -typedef struct { - int32_t (*Begin)(); - void (*End)(); - int32_t (*CheckCfg)(); - - int32_t (*PutObjectFromFileOffset)(const char* file, const char* object_name, int64_t offset, int64_t size); - int32_t (*GetObjectBlock)(const char* object_name, int64_t offset, int64_t size, bool check, uint8_t** ppBlock); - - void (*DeleteObjectsByPrefix)(const char* prefix); - - int32_t (*PutObjectFromFile2)(const char* file, const char* object, int8_t withcp); - int32_t (*GetObjectsByPrefix)(const char* prefix, const char* path); - int32_t (*DeleteObjects)(const char* object_name[], int nobject); - int32_t (*GetObjectToFile)(const char* object_name, const char* fileName); -} STcs; - -static STcs tcs; +STcs tcs; int32_t tcsInit() { int32_t code = 0; @@ -108,12 +84,6 @@ int32_t tcsCheckCfg() { TAOS_RETURN(code); } - code = s3Begin(); - if (code != 0) { - (void)fprintf(stderr, "failed to begin s3.\n"); - TAOS_RETURN(code); - } - code = tcs.CheckCfg(); if (code != 0) { (void)fprintf(stderr, "failed to check s3.\n"); @@ -134,15 +104,3 @@ int32_t tcsGetObjectBlock(const char* object_name, int64_t offset, int64_t size, } void tcsDeleteObjectsByPrefix(const char* prefix) { return tcs.DeleteObjectsByPrefix(prefix); } - -int32_t tcsPutObjectFromFile2(const char* file, const char* object, int8_t withcp) { - return tcs.PutObjectFromFile2(file, object, withcp); -} - -int32_t tcsGetObjectsByPrefix(const char* prefix, const char* path) { return tcs.GetObjectsByPrefix(prefix, path); } - -int32_t tcsDeleteObjects(const char* object_name[], int nobject) { return tcs.DeleteObjects(object_name, nobject); } - -int32_t tcsGetObjectToFile(const char* object_name, const char* fileName) { - return tcs.GetObjectToFile(object_name, fileName); -} diff --git a/source/libs/tcs/src/tcsStream.c b/source/libs/tcs/src/tcsStream.c new file mode 100644 index 0000000000..7cd4647ddd --- /dev/null +++ b/source/libs/tcs/src/tcsStream.c @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2019 TAOS Data, Inc. + * + * This program is free software: you can use, redistribute, and/or modify + * it under the terms of the GNU Affero General Public License, version 3 + * or later ("AGPL"), as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#include "tcs.h" +#include "tcsInt.h" + +int32_t tcsPutObjectFromFile2(const char* file, const char* object, int8_t withcp) { + return tcs.PutObjectFromFile2(file, object, withcp); +} + +int32_t tcsGetObjectsByPrefix(const char* prefix, const char* path) { return tcs.GetObjectsByPrefix(prefix, path); } + +int32_t tcsDeleteObjects(const char* object_name[], int nobject) { return tcs.DeleteObjects(object_name, nobject); } + +int32_t tcsGetObjectToFile(const char* object_name, const char* fileName) { + return tcs.GetObjectToFile(object_name, fileName); +}