port soft-pbrpc from https://github.com/BaiduPS/sofa-pbrpc