diff --git a/libtransmission/session.c b/libtransmission/session.c index 1e2c47ee3..55241c870 100644 --- a/libtransmission/session.c +++ b/libtransmission/session.c @@ -43,7 +43,7 @@ #include "session.h" #include "stats.h" #include "torrent.h" -#include "tr-dht.h" +#include "tr-udp.h" #include "tr-lpd.h" #include "trevent.h" #include "utils.h" @@ -664,8 +664,7 @@ tr_sessionInitImpl( void * vdata ) tr_sessionSet( session, &settings ); - if( session->isDHTEnabled ) - tr_dhtInit( session, &session->public_ipv4->addr ); + tr_udpInit( session, &session->public_ipv4->addr ); if( session->isLPDEnabled ) tr_lpdInit( session, &session->public_ipv4->addr ); @@ -1686,8 +1685,7 @@ sessionCloseImpl( void * vsession ) if( session->isLPDEnabled ) tr_lpdUninit( session ); - if( session->isDHTEnabled ) - tr_dhtUninit( session ); + tr_udpUninit( session ); event_free( session->saveTimer ); session->saveTimer = NULL; @@ -1902,13 +1900,9 @@ toggleDHTImpl( void * data ) tr_session * session = data; assert( tr_isSession( session ) ); - if( session->isDHTEnabled ) - tr_dhtUninit( session ); - + tr_udpUninit( session ); session->isDHTEnabled = !session->isDHTEnabled; - - if( session->isDHTEnabled ) - tr_dhtInit( session, &session->public_ipv4->addr ); + tr_udpInit( session, &session->public_ipv4->addr ); } void diff --git a/libtransmission/tr-udp.c b/libtransmission/tr-udp.c index 3c512e57c..eb091106a 100644 --- a/libtransmission/tr-udp.c +++ b/libtransmission/tr-udp.c @@ -1,3 +1,42 @@ +/* +Copyright (c) 2010 by Juliusz Chroboczek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ + +#include "transmission.h" +#include "net.h" +#include "session.h" +#include "tr-dht.h" #include "tr-udp.h" -static void dummy (void) {} + +void +tr_udpInit(tr_session *ss, const tr_address * addr) +{ + if( ss->isDHTEnabled ) + tr_dhtInit(ss, addr); +} + +void +tr_udpUninit(tr_session *ss) +{ + return tr_dhtUninit(ss); +} diff --git a/libtransmission/tr-udp.h b/libtransmission/tr-udp.h index e69de29bb..0ad8cc490 100644 --- a/libtransmission/tr-udp.h +++ b/libtransmission/tr-udp.h @@ -0,0 +1,30 @@ +/* +Copyright (c) 2010 by Juliusz Chroboczek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +*/ + +#ifndef __TRANSMISSION__ + #error only libtransmission should #include this header. +#endif + +void tr_udpInit( tr_session *, const tr_address *); +void tr_udpUninit( tr_session * ); +