Exemplo n.º 1
0
 def set_hostname(self):
     ''' This method is used to get the hostname of the cache,
         which is used by the cache_local mode of the NeighborSelection.
     '''
     
     own_ip = self.session.get_external_ip()
     hostname = socket.gethostbyaddr(own_ip)
     NeighborSelection.getInstance().set_cache_hostname(hostname)
    def __init__(self, trackerlist, interval, sched, howmany, minpeers, 
            connect, externalsched, amount_left, up, down, 
            port, ip, myid, infohash, timeout, errorfunc, excfunc, 
            maxpeers, doneflag, upratefunc, downratefunc, 
            unpauseflag = fakeflag(True), config=None):

        self.excfunc = excfunc
        newtrackerlist = []        
        for tier in trackerlist:
            if len(tier) > 1:
                shuffle(tier)
            newtrackerlist += [tier]
        self.trackerlist = newtrackerlist
        self.lastsuccessful = ''
        self.rejectedmessage = 'rejected by tracker - '
        self.port = port
        
        if DEBUG:
            print >>sys.stderr,"Rerequest tracker: infohash is",`infohash`,"port is",self.port,"myid",`myid`,"quoted id",quote(myid)

        self.url = ('?info_hash=%s&peer_id=%s&port=%s' %
            (quote(infohash), quote(myid), str(port)))
        self.ip = ip
        self.interval = interval
        self.last = None
        self.trackerid = None
        self.announce_interval = 1 * 60
        self.sched = sched
        self.howmany = howmany
        self.minpeers = minpeers
        self.connect = connect
        self.externalsched = externalsched
        self.amount_left = amount_left
        self.up = up
        self.down = down
        self.timeout = timeout
        self.errorfunc = errorfunc
        self.maxpeers = maxpeers
        self.doneflag = doneflag
        self.upratefunc = upratefunc
        self.downratefunc = downratefunc
        self.unpauseflag = unpauseflag
        self.last_failed = True
        self.never_succeeded = True
        self.errorcodes = {}
        self.lock = SuccessLock()
        self.special = None
        self.started = False
        self.stopped = False
        self.schedid = 'arno481'
        self.infohash = infohash
        self.dht = mainlineDHT.dht
        self.config = config
        
        # SmoothIT_
        self.neighborselection = NeighborSelection.getInstance()
        self.logger = logging.getLogger("Tribler.Rerequester")
 def testMechanismCreation(self):
     self.assertEquals(NeighborSelection.ns_instance(), None)
     
     mech = NeighborSelection.getInstance()
     assert isinstance(NeighborSelection.ns_instance(), NeighborSelection.NoFiltering)
     
     mech2 = NeighborSelection.createMechanism("none")
     assert isinstance(mech2, NeighborSelection.NoFiltering)
     assert mech<>mech2
     assert NeighborSelection.ns_instance() is mech2
     
     local = NeighborSelection.createMechanism("enable", rankingSource = OddEvenPolicy())
     self.assertTrue(isinstance(local, NeighborSelection.SISFiltering))
     self.assertEquals(NeighborSelection.ns_instance(), local)
Exemplo n.º 4
0
    def testMechanismCreation(self):
        self.assertEquals(NeighborSelection.ns_instance(), None)

        mech = NeighborSelection.getInstance()
        assert isinstance(NeighborSelection.ns_instance(),
                          NeighborSelection.NoFiltering)

        mech2 = NeighborSelection.createMechanism("none")
        assert isinstance(mech2, NeighborSelection.NoFiltering)
        assert mech <> mech2
        assert NeighborSelection.ns_instance() is mech2

        local = NeighborSelection.createMechanism(
            "enable", rankingSource=OddEvenPolicy())
        self.assertTrue(isinstance(local, NeighborSelection.SISFiltering))
        self.assertEquals(NeighborSelection.ns_instance(), local)
Exemplo n.º 5
0
    def __init__(self,
                 trackerlist,
                 interval,
                 sched,
                 howmany,
                 minpeers,
                 connect,
                 externalsched,
                 amount_left,
                 up,
                 down,
                 port,
                 ip,
                 myid,
                 infohash,
                 timeout,
                 errorfunc,
                 excfunc,
                 maxpeers,
                 doneflag,
                 upratefunc,
                 downratefunc,
                 unpauseflag=fakeflag(True),
                 config=None):

        self.excfunc = excfunc
        newtrackerlist = []
        for tier in trackerlist:
            if len(tier) > 1:
                shuffle(tier)
            newtrackerlist += [tier]
        self.trackerlist = newtrackerlist
        self.lastsuccessful = ''
        self.rejectedmessage = 'rejected by tracker - '
        self.port = port

        if DEBUG:
            print >> sys.stderr, "Rerequest tracker: infohash is", ` infohash `, "port is", self.port, "myid", ` myid `, "quoted id", quote(
                myid)

        self.url = ('?info_hash=%s&peer_id=%s&port=%s' %
                    (quote(infohash), quote(myid), str(port)))
        self.ip = ip
        self.interval = interval
        self.last = None
        self.trackerid = None
        self.announce_interval = 1 * 60
        self.sched = sched
        self.howmany = howmany
        self.minpeers = minpeers
        self.connect = connect
        self.externalsched = externalsched
        self.amount_left = amount_left
        self.up = up
        self.down = down
        self.timeout = timeout
        self.errorfunc = errorfunc
        self.maxpeers = maxpeers
        self.doneflag = doneflag
        self.upratefunc = upratefunc
        self.downratefunc = downratefunc
        self.unpauseflag = unpauseflag
        self.last_failed = True
        self.never_succeeded = True
        self.errorcodes = {}
        self.lock = SuccessLock()
        self.special = None
        self.started = False
        self.stopped = False
        self.schedid = 'arno481'
        self.infohash = infohash
        self.dht = mainlineDHT.dht
        self.config = config

        # SmoothIT_
        self.neighborselection = NeighborSelection.getInstance()
        self.logger = logging.getLogger("Tribler.Rerequester")