File d'attente prioritaire
mamiemando Messages postés 33364 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 19 novembre 2024 - 4 mai 2024 à 19:27
- File d'attente prioritaire
- Host file - Guide
- .Bin file - Guide
- .Dat file - Guide
- Swf file player - Télécharger - Lecture
- Iso file - Guide
4 réponses
Voici une référence:
https://fr.wikipedia.org/wiki/File_de_priorit%C3%A9
On peut aussi le faire avec un tableau.
Merci Pierrot ,
La question est : est ce que je dois modifier la file déjà existante : implementer la file prioritaire comme une sous classe de "Queue" , ou le faire comme une autre classe friend de "QueueBase" , comment faire la liaison entre elles
Ou, créer une nouvelle file et ne pas utiliser l'existante .
Modifié le 30 avril 2024 à 14:51
Bonjour,
Dans NDNSim, il ne faut pas toucher aux fichiers existants, sinon ton code ne sera pas réutilisable. Tu dois donc créer ton propre fichier source, et idéalement le placer dans le même dossier que la file existante pour respecter l'organisation du projet. Dans ton cas, tu aurais à créer :
- src/network/utils/priority_queue.h
- src/network/utils/priority_queue.cc
Une fois que tu as commencé à implémenter tes fichiers, il faut ensuite adapter les fichier(s) wscript concerné(s) dans le(s) dossier(s) concerné(s). Ces scripts python sont par waf pour compiler ns-3. Il faut y référencer le(s) fichier(s) que tu as ajouté, sans quoi ils seront ignorés.
- Ajoute le(s) fichier(s) .cc dans la liste module_sources déjà existante de la fonction build
- Ajoute le(s) fichier(s) .h dans la liste module_headers déjà existante de la fonction build
Voici un exemple concret de modification d'un wscript pour ajouter un projet tiers dans ns3 et ns3-dce (je suppose que ça doit être plus ou moins la même chose avec ndnsim, mais prends le temps de te renseigner). Tu peux aussi regarder un tutoriel, par exemple celui-ci.
Recompile ns3 en lançant depuis le dossier de sources ns3 la commande :
./waf
Note enfin qu'il existe en C++ une classe permettant de définir une file avec priorité (voir ce lien), peut-être que cela t'aidera à développer une file conforme à ce qu'attend ns-3.
Bonne chance
30 avril 2024 à 17:09
Merci mamiemando pour votre réponse ,
j'ai toujours le netdevice
https://ndnsim.net/current/doxygen/ndn-net-device-transport_8cpp_source.html
qui utilise l'ancien queue.
est ce que ma nouvelle file d'attente doit être de même une classe de QueueBase comme la file Queue
4 mai 2024 à 19:27
Oui ta nouvelle queue doit hériter de QueueBase (ou même de Queue si tu veux en réutiliser certains aspects, car qui peut le plus peut le moins) afin de se conformer à ce qu'attend ns-3. Voir le diagramme de classe.
Ensuite à toi de surcharger les méthodes adéquates pour avoir le bon comportement. Veille à faire un héritage public, comme c'est fait ici.
Exemple :
class PriorityQueue : public Queue { // ... };
Bonne chance