Skip to content

Commit 0aa5b2a

Browse files
committed
chore: update command interface for main_service commands
Clean up command_registry interface as well. Signed-off-by: Roman Gershman <roman@dragonflydb.io>
1 parent 17651b2 commit 0aa5b2a

File tree

4 files changed

+130
-189
lines changed

4 files changed

+130
-189
lines changed

src/server/command_registry.cc

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,9 @@ bool CommandId::IsMultiTransactional() const {
9696
return CO::IsTransKind(name()) || CO::IsEvalKind(name());
9797
}
9898

99-
uint64_t CommandId::Invoke(CmdArgList args, Transaction* tx, facade::SinkReplyBuilder* builder,
100-
ConnectionContext* cntx) const {
99+
uint64_t CommandId::Invoke(CmdArgList args, const CommandContext& cmd_cntx) const {
101100
int64_t before = absl::GetCurrentTimeNanos();
102-
handler_(args, tx, builder, cntx);
101+
handler_(args, cmd_cntx);
103102
int64_t after = absl::GetCurrentTimeNanos();
104103

105104
ServerState* ss = ServerState::tlocal(); // Might have migrated thread, read after invocation
@@ -133,21 +132,6 @@ optional<facade::ErrorReply> CommandId::Validate(CmdArgList tail_args) const {
133132
return nullopt;
134133
}
135134

136-
CommandId&& CommandId::SetHandler(Handler2 f) && {
137-
handler_ = [f = std::move(f)](CmdArgList args, Transaction* tx, facade::SinkReplyBuilder* builder,
138-
ConnectionContext*) { f(args, tx, builder); };
139-
140-
return std::move(*this);
141-
}
142-
143-
CommandId&& CommandId::SetHandler(Handler3 f) && {
144-
handler_ = [f = std::move(f)](CmdArgList args, Transaction* tx, facade::SinkReplyBuilder* builder,
145-
ConnectionContext* cntx) {
146-
f(std::move(args), CommandContext{tx, builder, cntx});
147-
};
148-
return std::move(*this);
149-
};
150-
151135
CommandRegistry::CommandRegistry() {
152136
vector<string> rename_command = GetFlag(FLAGS_rename_command);
153137

src/server/command_registry.h

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -96,23 +96,13 @@ class CommandId : public facade::CommandId {
9696
command_stats_ = std::make_unique<CmdCallStats[]>(thread_count);
9797
}
9898

99-
using Handler =
100-
fu2::function_base<true /*owns*/, true /*copyable*/, fu2::capacity_default,
101-
false /* non-throwing*/, false /* strong exceptions guarantees*/,
102-
void(CmdArgList, Transaction*, facade::SinkReplyBuilder*,
103-
ConnectionContext*) const>;
104-
using Handler2 =
105-
fu2::function_base<true, true, fu2::capacity_default, false, false,
106-
void(CmdArgList, Transaction*, facade::SinkReplyBuilder*) const>;
107-
10899
using Handler3 = fu2::function_base<true, true, fu2::capacity_default, false, false,
109100
void(CmdArgList, const CommandContext&) const>;
110101
using ArgValidator = fu2::function_base<true, true, fu2::capacity_default, false, false,
111102
std::optional<facade::ErrorReply>(CmdArgList) const>;
112103

113104
// Returns the invoke time in usec.
114-
uint64_t Invoke(CmdArgList args, Transaction*, facade::SinkReplyBuilder*,
115-
ConnectionContext* cntx) const;
105+
uint64_t Invoke(CmdArgList args, const CommandContext& cmd_cntx) const;
116106

117107
// Returns error if validation failed, otherwise nullopt
118108
std::optional<facade::ErrorReply> Validate(CmdArgList tail_args) const;
@@ -135,15 +125,11 @@ class CommandId : public facade::CommandId {
135125

136126
static const char* OptName(CO::CommandOpt fl);
137127

138-
CommandId&& SetHandler(Handler f) && {
128+
CommandId&& SetHandler(Handler3 f) && {
139129
handler_ = std::move(f);
140130
return std::move(*this);
141131
}
142132

143-
CommandId&& SetHandler(Handler2 f) &&;
144-
145-
CommandId&& SetHandler(Handler3 f) &&;
146-
147133
CommandId&& SetValidator(ArgValidator f) && {
148134
validator_ = std::move(f);
149135
return std::move(*this);
@@ -169,7 +155,7 @@ class CommandId : public facade::CommandId {
169155
private:
170156
bool implicit_acl_;
171157
std::unique_ptr<CmdCallStats[]> command_stats_;
172-
Handler handler_;
158+
Handler3 handler_;
173159
ArgValidator validator_;
174160
};
175161

0 commit comments

Comments
 (0)