MCPcopy Create free account
hub / github.com/NetSys/bess / BESSControlImpl

Class BESSControlImpl

core/bessctl.cc:436–1917  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

434}
435
436class BESSControlImpl final : public BESSControl::Service {
437 public:
438 void set_shutdown_func(const std::function<void()>& func) {
439 shutdown_func_ = func;
440 }
441
442 Status GetVersion(ServerContext*, const EmptyRequest*,
443 VersionResponse* response) override {
444 std::lock_guard<std::recursive_mutex> lock(mutex_);
445
446 response->set_version(google::VersionString());
447 return Status::OK;
448 }
449
450 Status ResetAll(ServerContext* context, const EmptyRequest* request,
451 EmptyResponse* response) override {
452 std::lock_guard<std::recursive_mutex> lock(mutex_);
453
454 Status status;
455 WorkerPauser wp;
456
457 LOG(INFO) << "*** ResetAll requested ***";
458
459 status = ResetModules(context, request, response);
460 if (response->error().code() != 0) {
461 return status;
462 }
463
464 status = ResetPorts(context, request, response);
465 if (response->error().code() != 0) {
466 return status;
467 }
468
469 status = ResetTcs(context, request, response);
470 if (response->error().code() != 0) {
471 return status;
472 }
473
474 status = ResetWorkers(context, request, response);
475 if (response->error().code() != 0) {
476 return status;
477 }
478
479 return Status::OK;
480 }
481
482 Status PauseAll(ServerContext*, const EmptyRequest*,
483 EmptyResponse*) override {
484 std::lock_guard<std::recursive_mutex> lock(mutex_);
485
486 pause_all_workers();
487 LOG(INFO) << "*** All workers have been paused ***";
488 return Status::OK;
489 }
490
491 Status PauseWorker(ServerContext*, const PauseWorkerRequest* req,
492 EmptyResponse*) override {
493 std::lock_guard<std::recursive_mutex> lock(mutex_);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected