xiehan
xiehan
[wfrest](https://github.com/wfrest/wfrest)是基于workflow的RESTful API项目,是workflow项目的资深粉丝开发。经过半年多的演化,功能上已经比较完善,覆盖了大多数web开发的需求,也形成了稳定的用户群。 具体用法,大家可以到项目主页看看:https://github.com/wfrest/wfrest 同时,欢迎大家开源其它基于workflow的项目。
为了支持内置的consul client,项目里实现了基于标准C(C99)的高性能JSON解析器。 ### json value相关接口 ~~~c /* 解析json文档产生json value。返回json value对象。返回NULL代表解析失败(格式不标准,嵌套过深,分配内存失败) @doc 文档字符串 */ json_value_t *json_value_parse(const char *doc); /* 销毁json value @val json value对象。一般由parse函数产生。*/ void json_value_destroy(json_value_t *val); /* 返回json value类型 可能的返回值:...
[中文版](https://github.com/sogou/workflow/issues/170) ### Project background and issues solved C++ Workflow is the back-end program engine of Sogou company. The project incorporates both communication and computing harmoniously, and supports to build high-performance...
和很多的mysql非官方客户端一样,我们目前不支持mysql 8默认的sha2认证方式。解决的方法是修改服务器配置,可以参考这个URL:[https://blog.csdn.net/s634772208/article/details/81155068](https://blog.csdn.net/s634772208/article/details/81155068) 另外请更新到workflow最新代码。
经腾讯公司授权,我们SRPC项目开源了腾讯TRPC协议的实现。这也是TRPC的第一个开源实现,腾讯公司的同学可以试用一下。server侧依然只支持连接池模式的访问,不支持pipeline以及乱序返回。
SRPC是基于搜狗的明星开源项目C++ Workflow开发,并且完美衔接。workflow是搜狗的异步网络与计算引擎,并包含多个通用协议的实现。大家可以先参考workflow项目的使用方法,应该可以更好理解SRPC。 GitHub地址:[https://github.com/sogou/workflow](https://github.com/sogou/workflow)
workflow项目已经自带了Consul client用于对接Consul服务治理,接口非常简单,熟悉consul的用户看一看这两个文件就可以很好理解: https://github.com/sogou/workflow/blob/master/src/client/WFConsulClient.h https://github.com/sogou/workflow/blob/master/src/client/WFConsulClient.cc 对于服务注册,只需要在server启动之后,产生一个register task,异步注册到consul上。server退出前,也最好注销一下。例如: ~~~cpp int main() { WFRedisServer server(redis_process); // 我们也内置redis server WFConsulClient client; WFConsulTask *consul_task; client.init("http://127.0.0.1:8500/"); // 祖传不支持RAII if (server.start(...) == 0) { consul_task = client.create_register_task(...);...
workflow内置Consul Client,可以参考这个issue的说明: https://github.com/sogou/workflow/issues/1021
A JSON value can be cast directly to it's data: ~~~c int main() { json_value_t *val = json_value_parse("..."); // The following castings are legal if 'val' is the corresponding type....
相比**strtod**,效率更高并且Locale-independant,支持最长1,000,000个字符长度的数字: ~~~c #include #include double evaluate_json_number(const char *integer, const char *fraction, int exp) { long long mant = 0; int figures = 0; double num; int sign; sign = (*integer...