]> git.llucax.com Git - z.facultad/75.74/practicos.git/blob - practicas/pipi/src/routetable.cpp
Primera aproximación al cache y a la resolución de nombres.
[z.facultad/75.74/practicos.git] / practicas / pipi / src / routetable.cpp
1 #include "routetable.h"
2 #ifdef DEBUG
3 #include <iostream>
4 #endif
5
6 RouteTable::RouteTable(Dev& default_iface): default_iface(default_iface)
7 {
8 }
9
10 void RouteTable::add(const IPAddr& net, const IPAddr& gw, unsigned mtu,
11         unsigned metric, Dev& iface)
12 {
13     table[net] = Route(gw, metric, mtu, iface);
14 #ifdef DEBUG
15     //std::cout << "Se agregó tabla para " << net << ": gw = " << gw
16     //    << ", metric = " << metric << "\n";
17 #endif
18 }
19
20 void RouteTable::del(const IPAddr& net)
21 {
22     table.erase(net);
23 }
24
25 RouteTable::Route* RouteTable::get(const IPAddr& dst)
26 {
27     // No existe
28     if (table.find(dst) == table.end())
29         return 0;
30     return &table[dst];
31 }
32
33 // vim: set et sw=4 sts=4 :