本文整理汇总了C++中Try::accept方法的典型用法代码示例。如果您正苦于以下问题:C++ Try::accept方法的具体用法?C++ Try::accept怎么用?C++ Try::accept使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Try
的用法示例。
在下文中一共展示了Try::accept方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Socket
// Ensure we can communicate between a POLL based socket and an SSL
// socket if 'SSL_SUPPORT_DOWNGRADE' is enabled.
TEST_F(SSLTest, ValidDowngrade)
{
Try<Socket> server = setup_server({
{"LIBPROCESS_SSL_ENABLED", "true"},
{"LIBPROCESS_SSL_SUPPORT_DOWNGRADE", "true"},
{"LIBPROCESS_SSL_KEY_FILE", key_path().string()},
{"LIBPROCESS_SSL_CERT_FILE", certificate_path().string()},
{"LIBPROCESS_SSL_REQUIRE_CERT", "true"}});
ASSERT_SOME(server);
Try<Subprocess> client = launch_client({
{"LIBPROCESS_SSL_ENABLED", "false"}},
server.get(),
false);
ASSERT_SOME(client);
Future<Socket> socket = server->accept();
AWAIT_ASSERT_READY(socket);
// TODO(jmlvanre): Remove const copy.
AWAIT_ASSERT_EQ(data, Socket(socket.get()).recv());
AWAIT_ASSERT_READY(Socket(socket.get()).send(data));
AWAIT_ASSERT_READY(await_subprocess(client.get(), 0));
}
示例2:
TEST_F(SocketTest, Unix)
{
Try<unix::Socket> server = unix::Socket::create();
ASSERT_SOME(server);
Try<unix::Socket> client = unix::Socket::create();
ASSERT_SOME(client);
// Use a path in the temporary directory so it gets cleaned up.
string path = path::join(sandbox.get(), "socket");
Try<unix::Address> address = unix::Address::create(path);
ASSERT_SOME(address);
ASSERT_SOME(server->bind(address.get()));
ASSERT_SOME(server->listen(1));
Future<unix::Socket> accept = server->accept();
AWAIT_READY(client->connect(address.get()));
AWAIT_READY(accept);
unix::Socket socket = accept.get();
const string data = "Hello World!";
AWAIT_READY(client->send(data));
AWAIT_EQ(data, socket.recv(data.size()));
AWAIT_READY(socket.send(data));
AWAIT_EQ(data, client->recv(data.size()));
}
示例3: GetParam
TEST_P(SSLTest, BasicSameProcessUnix)
{
os::setenv("LIBPROCESS_SSL_ENABLED", "true");
os::setenv("LIBPROCESS_SSL_KEY_FILE", key_path().string());
os::setenv("LIBPROCESS_SSL_CERT_FILE", certificate_path().string());
// NOTE: we must set LIBPROCESS_SSL_REQUIRE_CERT to false because we
// don't have a hostname or IP to verify!
os::setenv("LIBPROCESS_SSL_REQUIRE_CERT", "false");
os::setenv("LIBPROCESS_SSL_CA_DIR", os::getcwd());
os::setenv("LIBPROCESS_SSL_CA_FILE", certificate_path().string());
os::setenv("LIBPROCESS_SSL_VERIFY_IPADD", GetParam());
openssl::reinitialize();
Try<unix::Socket> server = unix::Socket::create(SocketImpl::Kind::SSL);
ASSERT_SOME(server);
Try<unix::Socket> client = unix::Socket::create(SocketImpl::Kind::SSL);
ASSERT_SOME(client);
// Use a path in the temporary directory so it gets cleaned up.
string path = path::join(sandbox.get(), "socket");
Try<unix::Address> address = unix::Address::create(path);
ASSERT_SOME(address);
ASSERT_SOME(server->bind(address.get()));
ASSERT_SOME(server->listen(BACKLOG));
Future<unix::Socket> accept = server->accept();
AWAIT_ASSERT_READY(client->connect(address.get()));
// Wait for the server to have accepted the client connection.
AWAIT_ASSERT_READY(accept);
unix::Socket socket = accept.get();
// Send a message from the client to the server.
const string data = "Hello World!";
AWAIT_ASSERT_READY(client->send(data));
// Verify the server received the message.
AWAIT_ASSERT_EQ(data, socket.recv(data.size()));
// Send the message back from the server to the client.
AWAIT_ASSERT_READY(socket.send(data));
// Verify the client received the message.
AWAIT_ASSERT_EQ(data, client->recv(data.size()));
}
示例4: None
// Ensure we CANNOT communicate between a POLL based socket and an
// SSL socket if 'SSL_SUPPORT_DOWNGRADE' is not enabled.
TEST_F(SSLTest, NoValidDowngrade)
{
Try<Socket> server = setup_server({
{"LIBPROCESS_SSL_ENABLED", "true"},
{"LIBPROCESS_SSL_SUPPORT_DOWNGRADE", "false"},
{"LIBPROCESS_SSL_KEY_FILE", key_path().string()},
{"LIBPROCESS_SSL_CERT_FILE", certificate_path().string()},
{"LIBPROCESS_SSL_REQUIRE_CERT", "true"}});
ASSERT_SOME(server);
Try<Subprocess> client = launch_client({
{"LIBPROCESS_SSL_ENABLED", "false"}},
server.get(),
false);
ASSERT_SOME(client);
Future<Socket> socket = server->accept();
AWAIT_ASSERT_FAILED(socket);
AWAIT_ASSERT_READY(await_subprocess(client.get(), None()));
}
示例5: stringify
protocol,
stringify(protocol == server_protocol));
}
// Set up the server.
Try<Socket> server = setup_server(server_environment);
ASSERT_SOME(server);
// Launch the client with a POLL socket.
Try<Subprocess> client = launch_client({
{"LIBPROCESS_SSL_ENABLED", "false"}},
server.get(),
false);
ASSERT_SOME(client);
Future<Socket> socket = server->accept();
AWAIT_ASSERT_READY(socket);
// TODO(jmlvanre): Remove const copy.
AWAIT_ASSERT_EQ(data, Socket(socket.get()).recv());
AWAIT_ASSERT_READY(Socket(socket.get()).send(data));
AWAIT_ASSERT_READY(await_subprocess(client.get(), 0));
}
}
// For each protocol: ensure we CANNOT communicate between a POLL
// based socket and an SSL socket if 'SSL_SUPPORT_DOWNGRADE' is not
// enabled.
TEST_F(SSLTest, NoValidDowngradeEachProtocol)