+#include <arpa/inet.h>
+#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include "greprotocol.h"
-#include "reorderer.h"
using namespace std;
#ifndef _GREPROTOCOL_H
#define _GREPROTOCOL_H
-#include "protocol.h"
-
#include <arpa/inet.h>
+#include <netinet/in.h>
#include <stdint.h>
#include <string>
+#include "protocol.h"
+
class Reorderer;
class GREProtocol : public Protocol {
+#include <arpa/inet.h>
+#include <netinet/in.h>
#include <stdio.h>
-#include <string.h>
#include <stdlib.h>
+#include <sys/select.h>
#include <sys/socket.h>
-#include <arpa/inet.h>
-#include <netinet/in.h>
-
-#include <map>
-#include <string>
-#include <queue>
#include "greprotocol.h"
-#include "protocol.h"
#include "reorderer.h"
-#include "tunprotocol.h"
using namespace std;
+#include <arpa/inet.h>
+#include <netinet/in.h>
#include <stdio.h>
#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-
-#include <map>
-#include <string>
-#include <queue>
+#include <sys/select.h>
+#include <sys/socket.h>
#include "greprotocol.h"
-#include "protocol.h"
#include "reorderer.h"
#include "tunprotocol.h"
-#include <string.h>
#include <fcntl.h>
-#include <unistd.h>
-#include <sys/ioctl.h>
#include <netinet/in.h>
-#include <arpa/inet.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <unistd.h>
#include <linux/if.h>
#include <linux/if_tun.h>