summaryrefslogtreecommitdiff
path: root/netcon
diff options
context:
space:
mode:
Diffstat (limited to 'netcon')
-rw-r--r--netcon/NetconEthernetTap.cpp3
-rw-r--r--netcon/NetconService.hpp5
-rwxr-xr-xnetcon/liblwip.sobin0 -> 342016 bytes
3 files changed, 7 insertions, 1 deletions
diff --git a/netcon/NetconEthernetTap.cpp b/netcon/NetconEthernetTap.cpp
index 7652eaf9..b6d7e2ce 100644
--- a/netcon/NetconEthernetTap.cpp
+++ b/netcon/NetconEthernetTap.cpp
@@ -927,6 +927,8 @@ err_t NetconEthernetTap::nc_sent(void* arg, struct tcp_pcb *tpcb, u16_t len)
dwr(5, " nc_sent()\n");
Larg *l = (Larg*)arg;
if(len) {
+ l->conn->acked+=len;
+ dwr("W = %d, A = %d\n", l->conn->written, l->conn->acked);
l->tap->_phy.setNotifyReadable(l->conn->dataSock, true);
l->tap->_phy.whack();
}
@@ -1395,6 +1397,7 @@ void NetconEthernetTap::handle_write(TcpConnection *conn)
memmove(&conn->buf, (conn->buf+r), sz);
}
conn->idx -= r;
+ conn->written+=err;
return;
}
}
diff --git a/netcon/NetconService.hpp b/netcon/NetconService.hpp
index fc6bd46c..41d745c2 100644
--- a/netcon/NetconService.hpp
+++ b/netcon/NetconService.hpp
@@ -57,7 +57,10 @@ namespace ZeroTier {
bool pending;
bool listening;
int pid;
-
+
+ unsigned long written;
+ unsigned long acked;
+
PhySocket *rpcSock;
PhySocket *dataSock;
struct tcp_pcb *pcb;
diff --git a/netcon/liblwip.so b/netcon/liblwip.so
new file mode 100755
index 00000000..aba90d8e
--- /dev/null
+++ b/netcon/liblwip.so
Binary files differ