projects
/
swifty.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tentative fix for the RecvFrom function.
[swifty.git]
/
src
/
libswift
/
channel.cpp
diff --git
a/src/libswift/channel.cpp
b/src/libswift/channel.cpp
index
2d9640c
..
5313095
100644
(file)
--- a/
src/libswift/channel.cpp
+++ b/
src/libswift/channel.cpp
@@
-322,9
+322,13
@@
int Channel::RecvFrom (evutil_socket_t sock, Address& addr, struct evbuffer **ev
print_error("error on recv");
}
length = 0;
print_error("error on recv");
}
length = 0;
+ printf("Received from %d addresses in one system call.\n", addr.addr->count);
for (int i=0; i<addr.addr->count; ++i) {
for (int i=0; i<addr.addr->count; ++i) {
- length += iov[i].iov_len;
- vec[i].iov_len = iov[i].iov_len;
+ struct in_addr aux;
+ aux.s_addr = addr.addr->dests[i].addr;
+ printf("Received from %s, %d bytes\n", inet_ntoa(aux), addr.addr->dests[i].bytes);
+ length += addr.addr->dests[i].bytes;
+ vec[i].iov_len = addr.addr->dests[i].bytes;
if (evbuffer_commit_space(evb[i], &vec[i], 1) < 0) {
length = 0;
print_error("error on evbuffer_commit_space");
if (evbuffer_commit_space(evb[i], &vec[i], 1) < 0) {
length = 0;
print_error("error on evbuffer_commit_space");