示例#1
0
    int bind(descriptor const& desc, Endpoint const& endpoint)
    {
        error_code ec;

        system::call(::bind, desc.c_descriptor(), 
                     static_cast<sockaddr const*>(endpoint.address().first), 
                     endpoint.address().second,
                     ec,
                     -1
                    );
        if(ec)
        {
            report_error re;
            return re("socket::bind", ec);
        }

        return error_code::success;
    }
示例#2
0
std::size_t send_to(descriptor const& desc, mutable_buffer_container buffer, Endpoint const& endpoint)
{
    error_code ec;
    std::size_t ret;

    ret = system::call(::sendto, desc.c_descriptor(),
                       buffer_cast<char const*>(buffer),
                       buffer_size(buffer),
                       0,
                       static_cast<sockaddr const*>(endpoint.address().first), 
                       endpoint.address().second,
                       ec,
                       -1
                      );
    if(ec)
    {
        report_error re;
        return re("socket::send_to", ec);
    }

    return ret;
}