tcp server framework in golang