-
Notifications
You must be signed in to change notification settings - Fork 612
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor ServiceRequestInfo, ServiceRequestInfoMap, and ServiceInfoHo…
…lder to ServiceRequestInfo.h and ServiceInfoHolder.h Summary: Title - this should be purely mechanical, i.e no behavioral change Reviewed By: sazonovkirill Differential Revision: D67879727 fbshipit-source-id: 1f3f2ea447cae5ae8039453597f4414c27a7601d
- Loading branch information
1 parent
8ce7c9c
commit a156593
Showing
3 changed files
with
78 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
/* | ||
* Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include <thrift/lib/cpp2/async/ServiceRequestInfo.h> | ||
|
||
namespace apache::thrift { | ||
|
||
// The base class for generated code that contains information about a service. | ||
// Each service generates a subclass of this. | ||
class ServiceInfoHolder { | ||
public: | ||
virtual ~ServiceInfoHolder() = default; | ||
|
||
// This function is generated from the thrift IDL. | ||
virtual const ServiceRequestInfoMap& requestInfoMap() const = 0; | ||
}; | ||
|
||
} // namespace apache::thrift |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
/* | ||
* Copyright (c) Meta Platforms, Inc. and affiliates. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
#pragma once | ||
|
||
#include <thrift/lib/cpp/concurrency/Thread.h> | ||
#include <thrift/lib/thrift/gen-cpp2/RpcMetadata_types.h> | ||
|
||
namespace apache::thrift { | ||
|
||
// This contains information about a request that is required in the thrift | ||
// server prior to the AsyncProcessor::executeRequest interface. | ||
struct ServiceRequestInfo { | ||
bool isSync; // True if this has thread='eb' | ||
RpcKind rpcKind; // Type of this request | ||
// The qualified function name is currently an input to TProcessorEventHandler | ||
// callbacks. We will refactor TProcessorEventHandler to remove the | ||
// requirement to pass this as a single string. T112104402 | ||
const char* functionName_deprecated; // Qualified function name (includes | ||
// service name) | ||
std::optional<std::string> | ||
interactionName; // Interaction name if part of an interaction | ||
concurrency::PRIORITY priority; // Method priority set in the IDL | ||
std::optional<std::string> | ||
createdInteraction; // The name of the interaction created by the RPC | ||
}; | ||
|
||
using ServiceRequestInfoMap = | ||
folly::F14ValueMap<std::string, ServiceRequestInfo>; | ||
|
||
} // namespace apache::thrift |