]> git.sesse.net Git - greproxy/blobdiff - tungre.cpp
Add some packet pacing, to reduce the burstiness many parts of the networking do...
[greproxy] / tungre.cpp
index 89339bba2455aa9ab4616f99f18ce0736e3f6ea0..ea736fbc2fa600d78738da8c750e0ebd6a1fb77c 100644 (file)
@@ -8,6 +8,8 @@
 #include "greprotocol.h"
 #include "reorderer.h"
 #include "tunprotocol.h"
+#include "rsdecoder.h"
+#include "pacer.h"
 
 using namespace std;
 
@@ -25,9 +27,12 @@ int main(int argc, char **argv)
        in6_addr myaddr = get_addr(argv[1]);
        in6_addr remoteaddr = get_addr(argv[2]);
        GREProtocol gre(myaddr, remoteaddr);
+       Pacer gre_pacer(&gre, 40000, 6);
        TUNProtocol tun("tungre");
 
-       Reorderer tun_reorderer(&tun);
+       Pacer tun_pacer(&tun, 40000, 6);
+       Reorderer tun_reorderer(&tun_pacer);
+       RSDecoder tun_decoder(&tun_reorderer);
 
        fd_set fds;
        FD_ZERO(&fds);
@@ -41,10 +46,10 @@ int main(int argc, char **argv)
                }
 
                if (FD_ISSET(gre.fd(), &fds)) {
-                       gre.read_packet(&tun_reorderer);
+                       gre.read_packet(&tun_decoder);
                }
                if (FD_ISSET(tun.fd(), &fds)) {
-                       tun.read_packet(&gre);
+                       tun.read_packet(&gre_pacer);
                }
        }
 }