diff --git a/plugin/ippcp/.gitignore b/plugin/ippcp/.gitignore new file mode 100644 index 000000000..f772ac3b0 --- /dev/null +++ b/plugin/ippcp/.gitignore @@ -0,0 +1 @@ +ippcp_example diff --git a/plugin/ippcp/examples/ippcp_example b/plugin/ippcp/examples/ippcp_example deleted file mode 100755 index d830b46ac..000000000 Binary files a/plugin/ippcp/examples/ippcp_example and /dev/null differ diff --git a/plugin/ippcp/examples2/ippcp_example b/plugin/ippcp/examples2/ippcp_example deleted file mode 100755 index 3ed6d67b3..000000000 Binary files a/plugin/ippcp/examples2/ippcp_example and /dev/null differ diff --git a/plugin/ippcp/ippcp.mk b/plugin/ippcp/ippcp.mk index c30049bfe..fc1d09c0a 100644 --- a/plugin/ippcp/ippcp.mk +++ b/plugin/ippcp/ippcp.mk @@ -1,4 +1,4 @@ ippcp_SOURCES = ippcp_provider.cc ippcp_HEADERS = ippcp_provider.h -ippcp_LDFLAGS = -lippcp -ippcp_CXXFLAGS = -Iplugin/ippcp/library/include \ No newline at end of file +ippcp_LDFLAGS = -lippcp -Lplugin/ippcp/library/linux/lib +ippcp_CXXFLAGS = -Iplugin/ippcp/library/include diff --git a/plugin/ippcp/library/linux/lib/libippcp.a b/plugin/ippcp/library/linux/lib/libippcp.a new file mode 100644 index 000000000..c78b5eb70 Binary files /dev/null and b/plugin/ippcp/library/linux/lib/libippcp.a differ diff --git a/plugin/ippcp/library/lib/libippcp.a b/plugin/ippcp/library/macos/lib/libippcp.a similarity index 100% rename from plugin/ippcp/library/lib/libippcp.a rename to plugin/ippcp/library/macos/lib/libippcp.a diff --git a/plugin/ippcp/library/src/sources/dispatcher/__pycache__/gen_disp_common.cpython-39.pyc b/plugin/ippcp/library/src/sources/dispatcher/__pycache__/gen_disp_common.cpython-39.pyc deleted file mode 100644 index 9b537579f..000000000 Binary files a/plugin/ippcp/library/src/sources/dispatcher/__pycache__/gen_disp_common.cpython-39.pyc and /dev/null differ diff --git a/plugin/ippcp/examples/Makefile b/plugin/ippcp/test_linux/Makefile similarity index 97% rename from plugin/ippcp/examples/Makefile rename to plugin/ippcp/test_linux/Makefile index 81226b53d..cdf756f94 100644 --- a/plugin/ippcp/examples/Makefile +++ b/plugin/ippcp/test_linux/Makefile @@ -1,6 +1,6 @@ include ../../../make_config.mk -PLATFORM_LDFLAGS += -lrocksdb -lippcp -L../../.. -L../library/lib +PLATFORM_LDFLAGS += -lrocksdb -lippcp -L../../.. -L../library/linux/lib .PHONY: clean all: ippcp_example diff --git a/plugin/ippcp/test_linux/ippcp_example.cc b/plugin/ippcp/test_linux/ippcp_example.cc new file mode 100644 index 000000000..6ac48c134 --- /dev/null +++ b/plugin/ippcp/test_linux/ippcp_example.cc @@ -0,0 +1,72 @@ +// Copyright (c) 2011-present, Facebook, Inc. All rights reserved. +// Copyright (c) 2020 Intel Corporation +// This source code is licensed under both the GPLv2 (found in the +// COPYING file in the root directory) and Apache 2.0 License +// (found in the LICENSE.Apache file in the root directory). + +#include +#include +#include +#include +#include +#include + +#include + +#include "../ippcp_provider.h" + +using namespace ROCKSDB_NAMESPACE; + +std::string kDBPath = "/tmp/ipp_aes_example"; + +int main() { + DB* db; + Options options; + options.create_if_missing = true; + + std::shared_ptr provider; + Status status = EncryptionProvider::CreateFromString( + ConfigOptions(), IppcpProvider::kName(), &provider); + + std::printf("ok\n"); + assert(status.ok()); + + status = + provider->AddCipher("", "a6d2ae2816157e2b3c4fcf098815f7xb", 32, false); + assert(status.ok()); + + options.env = NewEncryptedEnv(Env::Default(), provider); + + status = DB::Open(options, kDBPath, &db); + assert(status.ok()); + + setbuf(stdout, NULL); + printf("writing 1M records..."); + WriteOptions w_opts; + for (int i = 0; i < 1000000; ++i) { + std::printf("ok.%d.",i); + status = db->Put(w_opts, std::to_string(i), std::to_string(i * i)); + assert(status.ok()); + } + printf("flush"); + db->Flush(FlushOptions()); + printf("done.\n"); + + printf("reading 1M records..."); + std::string value; + ReadOptions r_opts; + for (int i = 0; i < 1000000; ++i) { + status = db->Get(r_opts, std::to_string(i), &value); + assert(status.ok()); + assert(value == std::to_string(i * i)); + } + printf("done.\n"); + + // Close database + status = db->Close(); + assert(status.ok()); + //status = DestroyDB(kDBPath, options); + //assert(status.ok()); + + return 0; +} diff --git a/plugin/ippcp/test_macos/Makefile b/plugin/ippcp/test_macos/Makefile new file mode 100644 index 000000000..1b5253427 --- /dev/null +++ b/plugin/ippcp/test_macos/Makefile @@ -0,0 +1,12 @@ +include ../../../make_config.mk + +PLATFORM_LDFLAGS += -lrocksdb -lippcp -L../../.. -L../library/macos/lib +.PHONY: clean + +all: ippcp_example + +ippcp_example: ippcp_example.cc + $(CXX) $(CXXFLAGS) $@.cc -o$@ -I../../../include -O2 $(PLATFORM_LDFLAGS) $(PLATFORM_CXXFLAGS) -I../library/include + +clean: + rm -rf ./ippcp_example diff --git a/plugin/ippcp/examples/ippcp_example.cc b/plugin/ippcp/test_macos/ippcp_example.cc similarity index 100% rename from plugin/ippcp/examples/ippcp_example.cc rename to plugin/ippcp/test_macos/ippcp_example.cc diff --git a/plugin/ippcp/examples2/Makefile b/plugin/ippcp/test_plain/Makefile similarity index 97% rename from plugin/ippcp/examples2/Makefile rename to plugin/ippcp/test_plain/Makefile index 81226b53d..cdf756f94 100644 --- a/plugin/ippcp/examples2/Makefile +++ b/plugin/ippcp/test_plain/Makefile @@ -1,6 +1,6 @@ include ../../../make_config.mk -PLATFORM_LDFLAGS += -lrocksdb -lippcp -L../../.. -L../library/lib +PLATFORM_LDFLAGS += -lrocksdb -lippcp -L../../.. -L../library/linux/lib .PHONY: clean all: ippcp_example diff --git a/plugin/ippcp/examples2/ippcp_example.cc b/plugin/ippcp/test_plain/ippcp_example.cc similarity index 100% rename from plugin/ippcp/examples2/ippcp_example.cc rename to plugin/ippcp/test_plain/ippcp_example.cc