diff --git a/include/opendht/dht.h b/include/opendht/dht.h index 373b0c3bca07b4a0a3ed14568579495f6c0bf771..1375d9c7ab339b29b99eae6332a50d3c432a5f80 100644 --- a/include/opendht/dht.h +++ b/include/opendht/dht.h @@ -2,8 +2,9 @@ Copyright (c) 2009-2014 Juliusz Chroboczek Copyright (c) 2014-2015 Savoir-faire Linux Inc. -Authors : Adrien Béraud <adrien.beraud@savoirfairelinux.com>, - Juliusz Chroboczek <jch@pps.univ–paris–diderot.fr> +Author(s) : Adrien Béraud <adrien.beraud@savoirfairelinux.com>, + Juliusz Chroboczek <jch@pps.univ–paris–diderot.fr> + Simon Désaulniers <sim.desaulniers@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/include/opendht/dhtrunner.h b/include/opendht/dhtrunner.h index 8adb0ca34b6787cec09fabaeea87ac8a2a9d85f7..57f060fc9f8cea09e1dbdcf784e6e0a959f640e5 100644 --- a/include/opendht/dhtrunner.h +++ b/include/opendht/dhtrunner.h @@ -1,6 +1,7 @@ /* * Copyright (C) 2014-2015 Savoir-faire Linux Inc. - * Author : Adrien Béraud <adrien.beraud@savoirfairelinux.com> + * Author(s) : Adrien Béraud <adrien.beraud@savoirfairelinux.com> + * Simon Désaulniers <sim.desaulniers@gmail.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/include/opendht/value.h b/include/opendht/value.h index 2c35311450c516558b2697e528fc381ab954533a..7b0020d643637e27938acbe494b8d1702c9886a7 100644 --- a/include/opendht/value.h +++ b/include/opendht/value.h @@ -1,6 +1,7 @@ /* * Copyright (C) 2014-2015 Savoir-faire Linux Inc. - * Author : Adrien Béraud <adrien.beraud@savoirfairelinux.com> + * Author(s) : Adrien Béraud <adrien.beraud@savoirfairelinux.com> + * Simon Désaulniers <sim.desaulniers@gmail.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/python/opendht.pyx b/python/opendht.pyx index 7789bfd1894afaf9493a11336c25f01992bfa85a..a7a68c7f2a85351fafe58500673cee98093b96d5 100644 --- a/python/opendht.pyx +++ b/python/opendht.pyx @@ -6,8 +6,9 @@ # cython: language_level=3 # # Copyright (c) 2015 Savoir-Faire Linux Inc. -# Author: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> -# Author: Adrien Béraud <adrien.beraud@savoirfairelinux.com> +# Author(s): Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> +# Adrien Béraud <adrien.beraud@savoirfairelinux.com> +# Simon Désaulniers <sim.desaulniers@gmail.com> # # This wrapper is written for Cython 0.22 # diff --git a/python/opendht_cpp.pxd b/python/opendht_cpp.pxd index 2c2bd7a405a5f18fd1524240752884e8e5dec9cc..3e844ca319b8732c8d6d1f60b6600a3a20dd4382 100644 --- a/python/opendht_cpp.pxd +++ b/python/opendht_cpp.pxd @@ -1,3 +1,7 @@ +# Copyright (C) 2015 Savoir-Faire Linux Inc. +# Author(s): Adrien Béraud <adrien.beraud@savoirfairelinux.com> +# Simon Désaulniers <sim.desaulniers@gmail.com> + from libc.stdint cimport * from libcpp cimport bool from libcpp.string cimport string diff --git a/python/setup.py.in b/python/setup.py.in index 114b6450b59f39d2978051f21c5f71cc626bbd37..943bd645c4e980c8f4332da2dfd4d5c777fc8f4f 100644 --- a/python/setup.py.in +++ b/python/setup.py.in @@ -29,7 +29,7 @@ setup(name="opendht", version="@PACKAGE_VERSION@", description="Python wrapper for opendht", url='https://github.com/savoirfairelinux/opendht', - author="Adrien Béraud, Guillaume Roguez", + author="Adrien Béraud, Guillaume Roguez, Simon Désaulniers", license="GPLv3", classifiers=[ 'Development Status :: 3 - Alpha', diff --git a/python/tools/benchmark.py b/python/tools/benchmark.py index 32764aec62a9e2620d3d5c64b89f37738ece80f6..f671bb257caadf46337576fb3502642790c6a073 100755 --- a/python/tools/benchmark.py +++ b/python/tools/benchmark.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 # Copyright (C) 2015 Savoir-Faire Linux Inc. -# Author: Adrien Béraud <adrien.beraud@savoirfairelinux.com> +# Author(s): Adrien Béraud <adrien.beraud@savoirfairelinux.com> +# Simon Désaulniers <sim.desaulniers@gmail.com> import os import sys diff --git a/python/tools/dhtnetwork.py b/python/tools/dhtnetwork.py index 154c7024892f465b6a1f57407684d7712228cb67..f845b805ea75f11c4ecc1f7231e31bcdd57e3d77 100755 --- a/python/tools/dhtnetwork.py +++ b/python/tools/dhtnetwork.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 # Copyright (C) 2015 Savoir-Faire Linux Inc. -# Author: Adrien Béraud <adrien.beraud@savoirfairelinux.com> +# Author(s): Adrien Béraud <adrien.beraud@savoirfairelinux.com> +# Simon Désaulniers <sim.desaulniers@gmail.com> import sys import signal diff --git a/src/dht.cpp b/src/dht.cpp index 93c05348deab0718e7bfc21c7f0ce9e1bd9c26f6..bc4edf7a919a9514c28ffcfa0492c7ea1052b22b 100644 --- a/src/dht.cpp +++ b/src/dht.cpp @@ -2,8 +2,9 @@ Copyright (c) 2009-2014 Juliusz Chroboczek Copyright (c) 2014-2015 Savoir-faire Linux Inc. -Authors : Adrien Béraud <adrien.beraud@savoirfairelinux.com>, - Juliusz Chroboczek <jch@pps.univ–paris–diderot.fr> +Author(s) : Adrien Béraud <adrien.beraud@savoirfairelinux.com>, + Juliusz Chroboczek <jch@pps.univ–paris–diderot.fr> + Simon Désaulniers <sim.desaulniers@gmail.com> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -1406,7 +1407,7 @@ Dht::announce(const InfoHash& id, sa_family_t af, std::shared_ptr<Value> value, return a.value->id == value->id; }); if (a_sr == sr->announce.end()) - sr->announce.emplace_back(Announce {value, created, callback}); + sr->announce.emplace_back(Announce {value, std::min(now, created), callback}); else { if (a_sr->value != value) { a_sr->value = value; @@ -2528,12 +2529,15 @@ Dht::processMessage(const uint8_t *buf, size_t buflen, const sockaddr *from, soc auto a_to_remove = std::remove_if(sr->announce.begin(), sr->announce.end(), [&](Announce &a) { if (!a.value || a.value->id != msg.value_id) return false; - if (sr->isAnnounced(msg.value_id, getType(a.value->type), now)) { + auto type = getType(a.value->type); + if (sr->isAnnounced(msg.value_id, type, now)) { if (a.callback) { a.callback(true, sr->getNodes()); a.callback = nullptr; } - return true; + if (a.created + type.expiration < now) { + return true; + } } return false; }); diff --git a/src/dhtrunner.cpp b/src/dhtrunner.cpp index e7b2cc018cf0124606801b101b696cdff9cd754c..52f6b65df6954a38ee8b400c5137c53be2606fae 100644 --- a/src/dhtrunner.cpp +++ b/src/dhtrunner.cpp @@ -1,6 +1,7 @@ /* * Copyright (C) 2014-2015 Savoir-faire Linux Inc. - * Author : Adrien Béraud <adrien.beraud@savoirfairelinux.com> + * Author(s) : Adrien Béraud <adrien.beraud@savoirfairelinux.com> + * Simon Désaulniers <sim.desaulniers@gmail.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/value.cpp b/src/value.cpp index bb45e2980a825e8560e2d1621c71a54cacd8b041..1aa36be07ab0a1085d161d84f318fd96e957dd8d 100644 --- a/src/value.cpp +++ b/src/value.cpp @@ -1,6 +1,7 @@ /* * Copyright (C) 2014-2015 Savoir-faire Linux Inc. - * Author : Adrien Béraud <adrien.beraud@savoirfairelinux.com> + * Author(s) : Adrien Béraud <adrien.beraud@savoirfairelinux.com> + * Simon Désaulniers <sim.desaulniers@gmail.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by