socket add google proto buffer support