std::string server_add(server_address.str());
ServerBuilder builder;
std::shared_ptr<ServerCredentials> creds;
if(tls)
{
std::ifstream readkeyfile(keyfilename);
std::stringstream buffer;
buffer << readkeyfile.rdbuf();
std::string key=buffer.str();
std::ifstream readcertfile(cafilename);
buffer << readcertfile.rdbuf();
std::string cert=buffer.str();
SslServerCredentialsOptions::PemKeyCertPair pkcp ={key,cert};
SslServerCredentialsOptions ssl_opts;
ssl_opts.pem_root_certs="";
ssl_opts.pem_key_cert_pairs.push_back(pkcp);
creds = SslServerCredentials(ssl_opts);
}
else
{
creds=grpc::InsecureServerCredentials();
}
builder.AddListeningPort(server_add,creds);
builder.RegisterService(this);
server=builder.BuildAndStart();
server->Wait();
return 1;