From 09367c9abbd067a731ff52da74211b650ffd63c7 Mon Sep 17 00:00:00 2001 From: derekyuan Date: Tue, 11 Sep 2018 12:15:02 +0800 Subject: [PATCH] update format --- docs-en/tars_cpp_faq.md | 2 +- docs-en/tars_cpp_http_demo.md | 2 +- docs-en/tars_cpp_quickstart.md | 12 ++++++------ docs-en/tars_cpp_user_guide.md | 2 +- docs-en/tars_push.md | 2 +- docs/images/tars_flow.PNG | Bin 0 -> 56055 bytes docs/images/tars_push_deploy.PNG | Bin 0 -> 26027 bytes docs/images/tars_result.PNG | Bin 0 -> 17185 bytes docs/tars_cpp_faq.md | 2 +- docs/tars_cpp_http_demo.md | 2 +- docs/tars_cpp_quickstart.md | 12 ++++++------ docs/tars_cpp_user_guide.md | 2 +- docs/tars_push.md | 2 +- 13 files changed, 20 insertions(+), 20 deletions(-) create mode 100644 docs/images/tars_flow.PNG create mode 100644 docs/images/tars_push_deploy.PNG create mode 100644 docs/images/tars_result.PNG diff --git a/docs-en/tars_cpp_faq.md b/docs-en/tars_cpp_faq.md index 1af2988..82a5f20 100644 --- a/docs-en/tars_cpp_faq.md +++ b/docs-en/tars_cpp_faq.md @@ -3,7 +3,7 @@ > * Please reference tars_install.md 2. How to quickly implement an example of a Tars C++? -> * For documentation, please refer to tars_cpp_quickstart.md, the relevant sample code, and the cpp/examples directory. +> * For documentation, please refer to tars_cpp_quickstart.md, the relevant sample code, and the examples directory. 3. What is the tars/tup protocol? > * For specific information, please refer to tars_tup.md. diff --git a/docs-en/tars_cpp_http_demo.md b/docs-en/tars_cpp_http_demo.md index 34c432b..57449dd 100644 --- a/docs-en/tars_cpp_http_demo.md +++ b/docs-en/tars_cpp_http_demo.md @@ -3,7 +3,7 @@ ## Overview The TARS service framework only supports TARS's own tars protocol by default. However, in actual application scenarios, other protocols, such as HTTP, need to be supported in the TARS service framework. In this case, the communicator cannot be used to send data. The business itself need to implement this part of the code. For custom protocols, the processing is similar. -For specific program examples, see cpp/examples/httpDemo/. +For specific program examples, see examples/httpDemo/. To develop a third-party protocol server end: you need to implement the protocol parser and load it into the service, and establish a non-TAF framework service object meanwhile, this class inherits from the Servant class and establishes the protocol processor by reloading the doRequest method in the Servant class. To access the service, the client needs to call the rpc function of proxy, before calling, set the request packet encoding function and the response packet decoding function for the proxy. diff --git a/docs-en/tars_cpp_quickstart.md b/docs-en/tars_cpp_quickstart.md index 232390e..65c27dd 100644 --- a/docs-en/tars_cpp_quickstart.md +++ b/docs-en/tars_cpp_quickstart.md @@ -1,10 +1,10 @@ # Contents -> * [1.Environment construction] (#main-chapter-1) -> * [2.Service naming] (#main-chapter-2) -> * [3.Tars management system] (#main-chapter-3) -> * [4.Service deployment] (#main-chapter-4) -> * [5.Service development] (#main-chapter-5) -> * [6.Service release] (#main-chapter-6) +> * [1.Environment construction](#main-chapter-1) +> * [2.Service naming](#main-chapter-2) +> * [3.Tars management system](#main-chapter-3) +> * [4.Service deployment](#main-chapter-4) +> * [5.Service development](#main-chapter-5) +> * [6.Service release](#main-chapter-6) # 1. Environment construction diff --git a/docs-en/tars_cpp_user_guide.md b/docs-en/tars_cpp_user_guide.md index 9cbe19c..86ea1ab 100644 --- a/docs-en/tars_cpp_user_guide.md +++ b/docs-en/tars_cpp_user_guide.md @@ -729,7 +729,7 @@ Normally, B needs to return a response to A after B receives the request and fin Therefore, it is not can be implemented if B initiates an asynchronous request to C in the interface. Therefore, it is necessary to implemente the asynchronous calls across services by using the following methods. -You can see the cpp/examples/QuickStartDemo/ProxyServer example for details. +You can see the examples/QuickStartDemo/ProxyServer example for details. The following still uses the helloworld program to explain. Firstly, the client initiates a request to the proxy, and the proxy initiates testHello to the HelloServer asynchronously after receiving the request. Then the proxy returns the result by the HelloServer to the client diff --git a/docs-en/tars_push.md b/docs-en/tars_push.md index 21574e1..3b86863 100644 --- a/docs-en/tars_push.md +++ b/docs-en/tars_push.md @@ -13,7 +13,7 @@ In the actual application scenario, server-to-client push modes need to be supported in the TARS service framework. -For example, see cpp/examples/pushDemo/. +For example, see examples/pushDemo/. ## Flow chart of the push mode Here's a flow chart of the push mode diff --git a/docs/images/tars_flow.PNG b/docs/images/tars_flow.PNG new file mode 100644 index 0000000000000000000000000000000000000000..130ee3ebaf330fb0b9071edf4fbc92de2f84d481 GIT binary patch literal 56055 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 literal 0 HcmV?d00001 diff --git a/docs/images/tars_push_deploy.PNG b/docs/images/tars_push_deploy.PNG new file mode 100644 index 0000000000000000000000000000000000000000..1091d603cb6ed99b753b0eeafcb2474bf0d7d3b3 GIT binary patch literal 26027 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�VL5%G*8Y_cIt!a11t2yt-LH`eE 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 E0C?RlfdBvi literal 0 HcmV?d00001 diff --git a/docs/images/tars_result.PNG b/docs/images/tars_result.PNG new file mode 100644 index 0000000000000000000000000000000000000000..1806e0fad0b86e224e159a28b6ed7c788f24b920 GIT binary patch literal 17185 zcmeIZXIxX++CCf^Q7OudR0TmDkzQ0p(GajOh?GcCAVO%;3;{9HOKj)}0tyHsC5Qqd zHIRUG0f9kEs0kgF5+U?RLI?@(if7K5ndi*^dCvR&eDG(;-dTIEweEdi*L~gBessyq zaHrs2K?nr0)9Au^3kc)~4+vyS|Bh|ooBN{!b>P1(7z@L*kit%x8Suwe_cNwvAP{`4 z(1sH~_*>w{1zQXRva6BzZ%d2Mn`;or*)pT^XRHE|^P|yzuPS##J`KkY`yN?nBEC!L zt3S>sb71Fw(T9Fr9kxRt@2~E-2S%0A5axqGZd7aT0ADRP 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

    }+EJ6n7)or$F`Ye5AZOnT2J$wt_6<#V< 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 literal 0 HcmV?d00001 diff --git a/docs/tars_cpp_faq.md b/docs/tars_cpp_faq.md index 64b7512..34cc7dd 100644 --- a/docs/tars_cpp_faq.md +++ b/docs/tars_cpp_faq.md @@ -3,7 +3,7 @@ > * 参考tars_install.md 2. Tars C++如何快速上手? -> * 文档参考tars_cpp_quickstart.md,相关示例代码参考cpp/examples目录 +> * 文档参考tars_cpp_quickstart.md,相关示例代码参考examples目录 3. tars/tup协议是什么? > * 具体参考tars_tup.md diff --git a/docs/tars_cpp_http_demo.md b/docs/tars_cpp_http_demo.md index d960443..f4342d0 100644 --- a/docs/tars_cpp_http_demo.md +++ b/docs/tars_cpp_http_demo.md @@ -3,7 +3,7 @@ ## 概述 TARS服务框架默认情况下只支持TARS自有的tars协议,但是在实际的应用场景中,需要在TARS服务框架中支持其他协议,例如HTTP,这种情况下就不能用通信器来发送据,需要业务自己来实现这部分代码。对于自定义的协议, 处理方式也类似 -具体程序示例,参见cpp/examples/httpDemo/. +具体程序示例,参见examples/httpDemo/. 开发第三方协议服务端,要实现协议解析器并将其加载到服务中,同时需要建立一个非TAF框架的服务对象,该类继承于Servant类,通过重载Servant类中的doRequest方法来建立协议处理器。 而客户端要访问服务,需要通过调用proxy的rpc函数,在调用之前,要为proxy设置请求包编码函数和响应包解码函数。 diff --git a/docs/tars_cpp_quickstart.md b/docs/tars_cpp_quickstart.md index 0b1ffb0..e8daa5f 100644 --- a/docs/tars_cpp_quickstart.md +++ b/docs/tars_cpp_quickstart.md @@ -1,10 +1,10 @@ # 目录 -> * [1.环境搭建] (#main-chapter-1) -> * [2.服务命名] (#main-chapter-2) -> * [3.Tars管理系统] (#main-chapter-3) -> * [4.服务部署] (#main-chapter-4) -> * [5.服务开发] (#main-chapter-5) -> * [6.服务发布] (#main-chapter-6) +> * [1.环境搭建](#main-chapter-1) +> * [2.服务命名](#main-chapter-2) +> * [3.Tars管理系统](#main-chapter-3) +> * [4.服务部署](#main-chapter-4) +> * [5.服务开发](#main-chapter-5) +> * [6.服务发布](#main-chapter-6) # 1. 环境搭建 diff --git a/docs/tars_cpp_user_guide.md b/docs/tars_cpp_user_guide.md index bc3011a..7402ac0 100644 --- a/docs/tars_cpp_user_guide.md +++ b/docs/tars_cpp_user_guide.md @@ -729,7 +729,7 @@ QQInfo qi = pPrx->tars_hash(uin)->query(uin); 通常情况下面,B接收到请求后,在接口处理完毕以后就需要返回应答给A,因此如果B在接口中又发起异步请求到C,则无法实现。 -因此需要采用下面方法实现跨服务的异步调用,具体可以参考cpp/examples/QuickStartDemo/ProxyServer示例。 +因此需要采用下面方法实现跨服务的异步调用,具体可以参考examples/QuickStartDemo/ProxyServer示例。 还是采用hello world的例子,client发起请求给Proxy,Proxy接收到请求后,异步发起testHello给HelloServer,请求返回后,Proxy再将HelloServer返回的结果给client。 diff --git a/docs/tars_push.md b/docs/tars_push.md index db6b0b3..fbeb91e 100644 --- a/docs/tars_push.md +++ b/docs/tars_push.md @@ -12,7 +12,7 @@ 但是在实际的应用场景中,需要在TARS服务框架中支持其他服务端到客户端的push模式 -具体程序示例,参见cpp/examples/pushDemo/. +具体程序示例,参见examples/pushDemo/. ## push模式的流程图 下面是push模式的示意图