我正在阅读Boost.Beast文档,并且尝试在代码中使用速率限制:
io_context context;
tcp::resolver resolver(context);
basic_stream<tcp, executor, simple_rate_policy> stream(context);
stream.rate_policy().write_limit(1);
stream.connect(resolver.resolve("www.example.com", "http"));
string response;
write(stream, buffer("GET /index.html HTTP/1.1\r\nHost: www.example.com\r\n\r\n"));
read_until(stream, dynamic_buffer(response), "\r\n\r\n");
cout << response << endl;
context.run();
如果我是正确的,则此示例代码将导致通过与端点www.example.com:80
连接的套接字进行非常长的写入。但是simple_rate_policy似乎仅适用于异步读取和写入。我是在做错什么还是有目的的行为?
该限制仅适用于异步操作。