{"action":"created","issue":{"url":"https://api.github.com/repos/baidu/sofa-pbrpc/issues/140","repository_url":"https://api.github.com/repos/baidu/sofa-pbrpc","labels_url":"https://api.github.com/repos/baidu/sofa-pbrpc/issues/140/labels{/name}","comments_url":"https://api.github.com/repos/baidu/sofa-pbrpc/issues/140/comments","events_url":"https://api.github.com/repos/baidu/sofa-pbrpc/issues/140/events","html_url":"https://github.com/baidu/sofa-pbrpc/issues/140","id":187616004,"number":140,"title":"sofa-pbrpc去boost依赖","user":{"login":"zd-double","id":16774152,"avatar_url":"https://avatars.githubusercontent.com/u/16774152?v=3","gravatar_id":"","url":"https://api.github.com/users/zd-double","html_url":"https://github.com/zd-double","followers_url":"https://api.github.com/users/zd-double/followers","following_url":"https://api.github.com/users/zd-double/following{/other_user}","gists_url":"https://api.github.com/users/zd-double/gists{/gist_id}","starred_url":"https://api.github.com/users/zd-double/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zd-double/subscriptions","organizations_url":"https://api.github.com/users/zd-double/orgs","repos_url":"https://api.github.com/users/zd-double/repos","events_url":"https://api.github.com/users/zd-double/events{/privacy}","received_events_url":"https://api.github.com/users/zd-double/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2016-11-07T03:08:10Z","updated_at":"2016-12-08T17:36:59Z","closed_at":null,"body":"# 背景\r\n当前一些依赖sofa-pbrpc的应用程序同时也依赖了boost，rpc依赖的boots如果和应用程序依赖的boost没有版本打平会造成一些不可预期的结果，之前出现过此类问题，而且问题追查也十分困难。\r\n# 方案\r\n从boost中抠出一个rpc依赖的最小子集放在src下的单独目录，之后的rpc不再依赖外部的boost库。\r\n# 排期\r\n11.7 -11.11: 完成开发自测，提交pr；\r\n11.11-11.18: pr完善和修改，合入;"},"comment":{"url":"https://api.github.com/repos/baidu/sofa-pbrpc/issues/comments/265803105","html_url":"https://github.com/baidu/sofa-pbrpc/issues/140#issuecomment-265803105","issue_url":"https://api.github.com/repos/baidu/sofa-pbrpc/issues/140","id":265803105,"user":{"login":"zd-double","id":16774152,"avatar_url":"https://avatars.githubusercontent.com/u/16774152?v=3","gravatar_id":"","url":"https://api.github.com/users/zd-double","html_url":"https://github.com/zd-double","followers_url":"https://api.github.com/users/zd-double/followers","following_url":"https://api.github.com/users/zd-double/following{/other_user}","gists_url":"https://api.github.com/users/zd-double/gists{/gist_id}","starred_url":"https://api.github.com/users/zd-double/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zd-double/subscriptions","organizations_url":"https://api.github.com/users/zd-double/orgs","repos_url":"https://api.github.com/users/zd-double/repos","events_url":"https://api.github.com/users/zd-double/events{/privacy}","received_events_url":"https://api.github.com/users/zd-double/received_events","type":"User","site_admin":false},"created_at":"2016-12-08T17:36:59Z","updated_at":"2016-12-08T17:36:59Z","body":"sofa-pbrpc去boost版本的暂时放在[**这里**](https://github.com/zd-double/sofa-pbrpc/tree/no-boost-dependence)，大家review一下给点意见。\r\n实现上主要有几点：\r\n1.   rpc依赖的boost代码位于 src/sofa/pbrpc/boost下，采用sofa::pbrpc::boost的命名空间\r\n2.  src/sofa/pbrpc/boost下代码中防止重复编译的ifndef宏采用SOFA_PBRPC作为前缀。\r\n3.  由于rpc暴露给用户的头文件中存在shared_ptr，如rpc_channel.h、 rpc_client.h等，暂时将高度精简的boost下的smart_ptr也最终拷到output下，目录层级为sofa/pbrpc/boost/smart_ptr。"}}
{"actor":{"display_login":"zd-double"}}