Ejemplo n.º 1
0
int Socket::connect(struct sockaddr *sa, socklen_t salen)
{
    if (bindsocket() == -1)
        return -1;
    if (!utp_sock) {
        utp_sock = UTP_Create(_SendToProc, this, sa, salen);
        UTP_SetCallbacks(utp_sock, &utp_funcs, this);
    }
    UTP_Connect(utp_sock);
}
Ejemplo n.º 2
0
void CUTPSocketSession::Connect(const struct sockaddr *sa, socklen_t sa_len)
{
	ASSERT(!IsValid());

	m_Socket = UTP_Create(&send_to, GetParent<CUTPSocketListner>(), sa, sa_len, &utp_overhead_2);
	//UTP_SetSockopt(m_Socket, SO_SNDBUF, 100*300);

	UTPFunctionTable utp_callbacks = {&utp_read, &utp_write, &utp_get_rb_size, &utp_state, &utp_error, &utp_overhead};
	UTP_SetCallbacks(m_Socket, &utp_callbacks, this);
	UTP_Connect(m_Socket);
}
Ejemplo n.º 3
0
struct tr_peer_socket tr_netOpenPeerUTPSocket(tr_session* session, tr_address const* addr, tr_port port, bool clientIsSeed UNUSED)
{
    struct tr_peer_socket ret = TR_PEER_SOCKET_INIT;

    if (tr_address_is_valid_for_peers(addr, port))
    {
        struct sockaddr_storage ss;
        socklen_t const sslen = setup_sockaddr(addr, port, &ss);
        struct UTPSocket* const socket = UTP_Create(tr_utpSendTo, session, (struct sockaddr*)&ss, sslen);

        if (socket != NULL)
        {
            ret = tr_peer_socket_utp_create(socket);
        }
    }

    return ret;
}