..

调用 handler

简单过一下代码中解析command line中命令的过程。

过程

./daemon token_context
		|
		|
		V
	解析 command line 

		|
		|
		V
	调用 token_context 方法
		|
		|
		V
	 返回结果

单看流程的话,确实很简单,因为大多数代码结构都是这样,但是其中的一些细节处理才是有意思的地方。

这里看一下解析出来方法名后,handler的设计。

class Handler {
public:
	using Method = std::function<Status(Value&)>;
	Method method;

	const char* name;
	Role role;
};

每个新接口都是这样一个handler结构,包含了方法、方法名、及权限(Role)等。 用一个 map 来存储所有的handler,name 做 key。

获取 handler,进行之后的处理。

auto handler = getHandler(command);

先写到这儿。


Nothing