public:
class ConnectionPipeline {
- OrderedExclusivePhase await_map = {
- "ClientRequest::ConnectionPipeline::await_map"
- };
- OrderedExclusivePhase get_pg = {
- "ClientRequest::ConnectionPipeline::get_pg"
- };
+ struct AwaitMap : OrderedExclusivePhaseT<AwaitMap> {
+ static constexpr auto type_name =
+ "ClientRequest::ConnectionPipeline::await_map";
+ } await_map;
+
+ struct GetPG : OrderedExclusivePhaseT<GetPG> {
+ static constexpr auto type_name =
+ "ClientRequest::ConnectionPipeline::get_pg";
+ } get_pg;
+
friend class ClientRequest;
};
+
class PGPipeline : public CommonPGPipeline {
- OrderedExclusivePhase await_map = {
- "ClientRequest::PGPipeline::await_map"
- };
- OrderedConcurrentPhase wait_repop = {
- "ClientRequest::PGPipeline::wait_repop"
- };
- OrderedExclusivePhase send_reply = {
- "ClientRequest::PGPipeline::send_reply"
- };
+ struct AwaitMap : OrderedExclusivePhaseT<AwaitMap> {
+ static constexpr auto type_name = "ClientRequest::PGPipeline::await_map";
+ } await_map;
+ struct WaitRepop : OrderedConcurrentPhaseT<WaitRepop> {
+ static constexpr auto type_name = "ClientRequest::PGPipeline::wait_repop";
+ } wait_repop;
+ struct SendReply : OrderedExclusivePhaseT<SendReply> {
+ static constexpr auto type_name = "ClientRequest::PGPipeline::send_reply";
+ } send_reply;
friend class ClientRequest;
};
protected:
friend class InternalClientRequest;
- OrderedExclusivePhase wait_for_active = {
- "CommonPGPipeline:::wait_for_active"
- };
- OrderedExclusivePhase recover_missing = {
- "CommonPGPipeline::recover_missing"
- };
- OrderedExclusivePhase get_obc = {
- "CommonPGPipeline::get_obc"
- };
- OrderedExclusivePhase process = {
- "CommonPGPipeline::process"
- };
+ struct WaitForActive : OrderedExclusivePhaseT<WaitForActive> {
+ static constexpr auto type_name = "CommonPGPipeline:::wait_for_active";
+ } wait_for_active;
+ struct RecoverMissing : OrderedExclusivePhaseT<RecoverMissing> {
+ static constexpr auto type_name = "CommonPGPipeline::recover_missing";
+ } recover_missing;
+ struct GetOBC : OrderedExclusivePhaseT<GetOBC> {
+ static constexpr auto type_name = "CommonPGPipeline::get_obc";
+ } get_obc;
+ struct Process : OrderedExclusivePhaseT<Process> {
+ static constexpr auto type_name = "CommonPGPipeline::process";
+ } process;
};
} // namespace crimson::osd