Browse Source

2024.5.16 测试整体构建

master
Administrator 1 year ago
parent
commit
e884d14510
3 changed files with 43 additions and 42 deletions
  1. +5
    -4
      grpc/CMakeLists.txt
  2. +19
    -19
      grpc/grpc_client_main.cc
  3. +19
    -19
      grpc/grpc_server_main.cc

+ 5
- 4
grpc/CMakeLists.txt

@ -14,7 +14,7 @@ add_custom_command(
-I "${PROTO_DIR}"
--plugin=protoc-gen-grpc=${GRPC_BINARY_DIR}/grpc_cpp_plugin
${PROTO_DIR}/wenet.proto)
find_package(gflags REQUIRED)
add_library(wenet_grpc STATIC
grpc_client.cc
grpc_server.cc
@ -23,12 +23,13 @@ add_library(wenet_grpc STATIC
target_link_libraries(wenet_grpc PUBLIC ${REFLECTION}
${GRPC_GRPCPP}
${PROTOBUF_LIBPROTOBUF} decoder)
message("gflags_INCLUDE_DIR:${gflags_INCLUDE_DIR}")
include_directories(${gflags_INCLUDE_DIR})
add_executable(grpc_server_main grpc_server_main.cc)
target_link_libraries(grpc_server_main wenet_grpc ${third_party_libraries} ${REFLECTION}
target_link_libraries(grpc_server_main wenet_grpc gflags_nothreads ${REFLECTION}
${GRPC_GRPCPP}
${PROTOBUF_LIBPROTOBUF} )
add_executable(grpc_client_main grpc_client_main.cc)
target_link_libraries(grpc_client_main wenet_grpc ${third_party_libraries} ${REFLECTION}
target_link_libraries(grpc_client_main wenet_grpc gflags_nothreads ${REFLECTION}
${GRPC_GRPCPP}
${PROTOBUF_LIBPROTOBUF} )

+ 19
- 19
grpc/grpc_client_main.cc

@ -16,7 +16,7 @@
#include "grpc/grpc_client.h"
#include "utils/flags.h"
#include "utils/timer.h"
#include "gflags/gflags.h"
DEFINE_string(hostname, "127.0.0.1", "hostname of websocket server");
DEFINE_int32(port, 10086, "port of websocket server");
DEFINE_int32(nbest, 1, "n-best of decode result");
@ -24,22 +24,22 @@ DEFINE_string(wav_path, "", "test wav file path");
DEFINE_bool(continuous_decoding, false, "continuous decoding mode");
int main(int argc, char* argv[]) {
gflags::ParseCommandLineFlags(&argc, &argv, false);
google::InitGoogleLogging(argv[0]);
wenet::GrpcClient client(FLAGS_hostname, FLAGS_port, FLAGS_nbest,
gflags::ParseCommandLineFlags(&argc, &argv, false);
google::InitGoogleLogging(argv[0]);
wenet::GrpcClient client(FLAGS_hostname, FLAGS_port, FLAGS_nbest,
FLAGS_continuous_decoding);
wenet::WavReader wav_reader(FLAGS_wav_path);
const int sample_rate = 16000;
// Only support 16K
CHECK_EQ(wav_reader.sample_rate(), sample_rate);
const int num_samples = wav_reader.num_samples();
std::vector<float> pcm_data(wav_reader.data(),
wenet::WavReader wav_reader(FLAGS_wav_path);
const int sample_rate = 16000;
// Only support 16K
CHECK_EQ(wav_reader.sample_rate(), sample_rate);
const int num_samples = wav_reader.num_samples();
std::vector<float> pcm_data(wav_reader.data(),
wav_reader.data() + num_samples);
// Send data every 0.5 second
const float interval = 0.5;
const int sample_interval = interval * sample_rate;
for (int start = 0; start < num_samples; start += sample_interval) {
// Send data every 0.5 second
const float interval = 0.5;
const int sample_interval = interval * sample_rate;
for (int start = 0; start < num_samples; start += sample_interval) {
if (client.done()) {
break;
}
@ -55,10 +55,10 @@ int main(int argc, char* argv[]) {
VLOG(2) << "Send " << data.size() << " samples";
std::this_thread::sleep_for(
std::chrono::milliseconds(static_cast<int>(interval * 1000)));
}
wenet::Timer timer;
}
wenet::Timer timer;
client.Join();
VLOG(2) << "Total latency: " << timer.Elapsed() << "ms.";
return 0;
client.Join();
VLOG(2) << "Total latency: " << timer.Elapsed() << "ms.";
return 0;
}

+ 19
- 19
grpc/grpc_server_main.cc

@ -15,7 +15,7 @@
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#include "gflags/gflags.h"
#include "decoder/params.h"
#include "grpc/grpc_server.h"
@ -26,25 +26,25 @@ using grpc::Server;
using grpc::ServerBuilder;
int main(int argc, char* argv[]) {
gflags::ParseCommandLineFlags(&argc, &argv, false);
google::InitGoogleLogging(argv[0]);
gflags::ParseCommandLineFlags(&argc, &argv, false);
google::InitGoogleLogging(argv[0]);
auto decode_config = wenet::InitDecodeOptionsFromFlags();
auto feature_config = wenet::InitFeaturePipelineConfigFromFlags();
auto decode_resource = wenet::InitDecodeResourceFromFlags();
auto decode_config = wenet::InitDecodeOptionsFromFlags();
auto feature_config = wenet::InitFeaturePipelineConfigFromFlags();
auto decode_resource = wenet::InitDecodeResourceFromFlags();
wenet::GrpcServer service(feature_config, decode_config, decode_resource);
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
ServerBuilder builder;
std::string address("0.0.0.0:" + std::to_string(FLAGS_port));
builder.AddListeningPort(address, grpc::InsecureServerCredentials());
builder.RegisterService(&service);
builder.SetSyncServerOption(ServerBuilder::SyncServerOption::NUM_CQS,
wenet::GrpcServer service(feature_config, decode_config, decode_resource);
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
ServerBuilder builder;
std::string address("0.0.0.0:" + std::to_string(FLAGS_port));
builder.AddListeningPort(address, grpc::InsecureServerCredentials());
builder.RegisterService(&service);
builder.SetSyncServerOption(ServerBuilder::SyncServerOption::NUM_CQS,
FLAGS_workers);
std::unique_ptr<Server> server(builder.BuildAndStart());
LOG(INFO) << "Listening at port " << FLAGS_port;
server->Wait();
google::ShutdownGoogleLogging();
return 0;
std::unique_ptr<Server> server(builder.BuildAndStart());
LOG(INFO) << "Listening at port " << FLAGS_port;
server->Wait();
google::ShutdownGoogleLogging();
return 0;
}

Loading…
Cancel
Save