X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=blobdiff_plain;f=src%2Flibswift%2Fswift.h;h=723cf150485739e65d98a7631b38a3314050d2bc;hb=da188550ca4b16d1f49b0e59938ff93612a6cdbb;hp=2a9f68aee5e8842f8d619dc24dc1aaf5c6a80152;hpb=45635e914bca29ba32720ea13ed88e2e3d753c34;p=swifty.git diff --git a/src/libswift/swift.h b/src/libswift/swift.h index 2a9f68a..723cf15 100644 --- a/src/libswift/swift.h +++ b/src/libswift/swift.h @@ -108,6 +108,11 @@ namespace swift { Address() { clear(); } + Address(const Address &b) { + clear(); + addr->dests[0].addr = b.addr->dests[0].addr; + addr->dests[0].port = b.addr->dests[0].port; + } Address(const char* ip, uint16_t port) { clear(); set_ipv4(ip); @@ -134,6 +139,15 @@ namespace swift { } uint32_t ipv4 () const { return ntohl(addr->dests[0].addr); } uint16_t port () const { return ntohs(addr->dests[0].port); } + Address& operator = (const Address& b) { + if (this != &b) { + free(addr); + clear(); + addr->dests[0].addr = b.addr->dests[0].addr; + addr->dests[0].port = b.addr->dests[0].port; + } + return *this; + } bool operator == (const Address& b) const { return addr->count == b.addr->count && addr->dests[0].port==b.addr->dests[0].port && @@ -480,8 +494,8 @@ namespace swift { static void LibeventSendCallback(int fd, short event, void *arg); static void LibeventReceiveCallback(int fd, short event, void *arg); static void RecvDatagram (evutil_socket_t socket); // Called by LibeventReceiveCallback - static int RecvFrom(evutil_socket_t sock, Address& addr, struct evbuffer *evb); // Called by RecvDatagram - static int SendTo(evutil_socket_t sock, const Address& addr, struct evbuffer *evb); // Called by Channel::Send() + static int RecvFrom(evutil_socket_t sock, Address& addr, struct evbuffer **evb); // Called by RecvDatagram + static int SendTo(evutil_socket_t sock, const Address& addr, struct evbuffer **evb); // Called by Channel::Send() static evutil_socket_t Bind(Address address, sckrwecb_t callbacks=sckrwecb_t()); static Address BoundAddress(evutil_socket_t sock); static evutil_socket_t default_socket()