Ticket #5756: sd.cc

File sd.cc, 930 bytes (added by Gennady Proskurin <gpr@…>, 11 years ago)
Line 
1#include <boost/asio.hpp>
2#include <iostream>
3
4boost::asio::io_service io;
5boost::asio::io_service::work io_work(io);
6
7template <typename Socket>
8bool poll_read(Socket& sock)
9{
10 sock.non_blocking(true);
11 //sock.native_non_blocking(true);
12
13 boost::system::error_code ec;
14 std::cout << "run read_some...\n";
15 sock.read_some(boost::asio::null_buffers(), ec);
16 std::cout << "read_some done\n";
17 if (ec)
18 std::cout << "ec: " << ec.message() << "\n";
19 return (!ec);
20}
21
22void test_sd(int fd)
23{
24 boost::asio::posix::stream_descriptor sd(io,fd);
25 poll_read(sd);
26}
27
28void test_inet(const boost::asio::ip::tcp::endpoint& ep)
29{
30 boost::asio::ip::tcp::acceptor a(io, ep);
31 boost::asio::ip::tcp::socket sock(io);
32 a.accept(sock);
33 std::cout << "accepted\n";
34 poll_read(sock);
35}
36
37int main()
38{
39 test_sd(0);
40 //test_inet(boost::asio::ip::tcp::endpoint(boost::asio::ip::address(), 12345));
41}