X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=nethook.c;h=838099012e732d2bc966361ab3904f3940c1a898;hb=1516afb0ad6c38be922c304d2d002161cfeb8b7a;hp=2ed9aeb63ba79caeec80db38c529169692ddf279;hpb=e6f6e38bc0e20fc6a1b7ae4f2530da390f2faedb;p=cascardo%2Frnetproxy.git diff --git a/nethook.c b/nethook.c index 2ed9aeb..8380990 100644 --- a/nethook.c +++ b/nethook.c @@ -17,26 +17,25 @@ ** */ -#include #include "nethook.h" -void nethook_event (GConn* conn, GConnEvent* event, gpointer data) +void +nethook_event (HCConn* conn, HCEvent event, gpointer data) { + char buffer[4096]; + int r; net_hook_t* hook; hook = (net_hook_t*) data; - switch (event->type) + switch (event) { - case GNET_CONN_CONNECT: + case HC_EVENT_CONNECT: hook->connect (hook); break; - case GNET_CONN_READ: - hook->read (hook, event->buffer, event->length); - gnet_conn_read (conn); + case HC_EVENT_READ: + while ((r = hc_conn_read (conn, buffer, sizeof (buffer))) > 0) + hook->read (hook, buffer, r); break; - case GNET_CONN_WRITE: - hook->write (hook); - break; - case GNET_CONN_CLOSE: + case HC_EVENT_CLOSE: hook->close (hook); break; default: