[ 
https://issues.apache.org/jira/browse/HBASE-17051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15713566#comment-15713566
 ] 

Enis Soztutar commented on HBASE-17051:
---------------------------------------

- we do not need to have two different modules connection and ipc, we should 
just stick with only one. 
- We should use camel case in function names for regular methods, accessor 
methods can still be _ delimited (following Google style guides: 
https://google.github.io/styleguide/cppguide.html#Function_Names). 
 - In {{ConnectionId}} we should also have the serviceName as well, since 
servers can implement more than one PB Service, and each should have its own 
TPC socket (see 
https://github.com/apache/hbase/blob/bb3d9ccd489fb64e3cb2020583935a393382a678/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/ConnectionId.java).
 Also instead of using {{ServerName}} here, we should use the hostname/ip + 
port. 
 - RpcClient in java is holding the ConnectionPool in the java world, versus 
here it is is only for a single server. I think we should follow the same model 
(see AsyncRpcClient.java). 
 - How are you gonna use the ClientDispatcher? Also we seem to be creating one 
dispatcher per connection (not sure that is correct). We want something like 
the RpcClient.newStub() or newService() will give us a PB Service that can call 
the methods of? 
  

> libhbase++: implement RPC client and connection management
> ----------------------------------------------------------
>
>                 Key: HBASE-17051
>                 URL: https://issues.apache.org/jira/browse/HBASE-17051
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Xiaobing Zhou
>            Assignee: Xiaobing Zhou
>         Attachments: HBASE-17051-HBASE-14850.000.patch, 
> HBASE-17051-HBASE-14850.001.patch, HBASE-17051-HBASE-14850.002.patch, 
> HBASE-17051-HBASE-14850.003.patch
>
>
> This proposes building RPC client and connection management layer, which 
> supports the equivalent functions resides in RpcClient.java and 
> RpcConnection.java. Specifically, handler/pipeline concepts will be used for 
> implementation, similar to NettyRpcClient and NettyRpcConnection in java side.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to