Exemplo n.º 1
0
void
tr_tracker_http_announce( tr_session                 * session,
                          const tr_announce_request  * request,
                          tr_announce_response_func    response_func,
                          void                       * response_func_user_data )
{
    struct announce_data * d;
    struct evbuffer * buf = announce_url_new( session, request );
    const char * url = (const char *) evbuffer_pullup( buf, -1 );

    d = tr_new0( struct announce_data, 1 );
    d->response_func = response_func;
    d->response_func_user_data = response_func_user_data;
    memcpy( d->response.info_hash, request->info_hash, SHA_DIGEST_LENGTH );
    tr_strlcpy( d->log_name, request->log_name, sizeof( d->log_name ) );

    dbgmsg( request->log_name, "Sending announce to libcurl: \"%s\"", url );
    tr_webRun( session, url, NULL, NULL, on_announce_done, d );

    evbuffer_free( buf );
}
Exemplo n.º 2
0
void
tr_tracker_http_announce (tr_session                 * session,
                          const tr_announce_request  * request,
                          tr_announce_response_func    response_func,
                          void                       * response_func_user_data)
{
    struct announce_data * d;
    char * url = announce_url_new (session, request);

    d = tr_new0 (struct announce_data, 1);
    d->response.seeders = -1;
    d->response.leechers = -1;
    d->response.downloads = -1;
    d->response_func = response_func;
    d->response_func_user_data = response_func_user_data;
    memcpy (d->response.info_hash, request->info_hash, SHA_DIGEST_LENGTH);
    tr_strlcpy (d->log_name, request->log_name, sizeof (d->log_name));

    dbgmsg (request->log_name, "Sending announce to libcurl: \"%s\"", url);
    tr_webRun (session, url, on_announce_done, d);

    tr_free (url);
}