From 294059f1e120d6fd075448e45bd2fcc7626f25a8 Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Sat, 2 Apr 2011 11:08:23 +0300 Subject: [PATCH] code aspect adjustments and TODOs --- src/client.c | 16 +++++++++------- src/lib_swift.c | 8 ++++++++ src/lib_swift.h | 18 +++++++++++------- src/server.c | 21 +++++++++++++-------- 4 files changed, 41 insertions(+), 22 deletions(-) diff --git a/src/client.c b/src/client.c index 8988295..f28ef85 100644 --- a/src/client.c +++ b/src/client.c @@ -10,22 +10,24 @@ int main() { + /* create a single download session */ Swift s = socketSwift(1); struct sockSwiftaddr my_addr; char buf[100]; struct listsockaddr lsa; - + // populate sockSwiftaddr my_addr.sin_family = AF_INET; my_addr.sin_port = htons(SWIFT_PORT); - my_addr.sin_addr.N = 1; - my_addr.sin_addr.s_addr[0] = htonl(INADDR_LOOPBACK); - + my_addr.sin_addr.N = 1; + my_addr.sin_addr.s_addr[0] = htonl(INADDR_LOOPBACK); + recvfromSwift(s, buf, 100, 0, &my_addr, sizeof(my_addr)); - + transformFromSwiftToAddr(&lsa, my_addr); printf("Received packet from %s:%d\nData: %s\n\n", inet_ntoa(lsa.sa[0].sin_addr), ntohs(my_addr.sin_port), buf); - + closeSwift(s); - return 0; + + return 0; } diff --git a/src/lib_swift.c b/src/lib_swift.c index 7305234..155ca30 100644 --- a/src/lib_swift.c +++ b/src/lib_swift.c @@ -11,6 +11,10 @@ #define DEBUG #include "lib_swift.h" +/* + * TODO: send ssa as pointer + */ + void transformFromAddrToSwift(struct sockSwiftaddr *ssa, struct listsockaddr lsa) { int i; @@ -28,6 +32,10 @@ void transformFromAddrToSwift(struct sockSwiftaddr *ssa, struct listsockaddr lsa } } +/* + * TODO: send ssa as pointer + */ + void transformFromSwiftToAddr(struct listsockaddr *lsa, struct sockSwiftaddr ssa) { int i; diff --git a/src/lib_swift.h b/src/lib_swift.h index c871789..666cc3b 100644 --- a/src/lib_swift.h +++ b/src/lib_swift.h @@ -39,7 +39,11 @@ typedef struct swift { int maxChannels; } *Swift; -// swift_addr structure similar with in_addr +/* + * TODO: uniform structure names + */ + +// swift_addr structure similar with in_addr struct swift_addr { unsigned short N; // e.g. number of s_addr unsigned long s_addr[MAX_IPs]; // i.p. ip list @@ -48,15 +52,15 @@ struct swift_addr { // swift struct similar with sock_addr typedef struct sockSwiftaddr { short sin_family; // e.g. AF_INET - unsigned short sin_port; // e.g. htons(3490) - struct swift_addr sin_addr; // see struct swift_addr, below + unsigned short sin_port; // e.g. htons(3490) + struct swift_addr sin_addr; // see struct swift_addr, below } *SockSwiftaddr; // list of swift_addr struct listsockaddr { unsigned short N; struct sockaddr_in sa[MAX_IPs]; -}; +}; // Function to create a Swift socket Swift socketSwift(int maxChannels); @@ -74,10 +78,10 @@ int bindSwift(Swift s, const struct sockSwiftaddr *my_addr, socklen_t addrlen); // Function to receive a message ssize_t recvfromSwift(Swift s, void *buf, size_t len, int flags, struct sockSwiftaddr *from, socklen_t fromlen); - + // Function to send a message -ssize_t sendToSwift(Swift s, const void *buf, size_t len, int flags, - const struct sockSwiftaddr *to, socklen_t tolen); +ssize_t sendToSwift(Swift s, const void *buf, size_t len, int flags, + const struct sockSwiftaddr *to, socklen_t tolen); // test function -- don't commit diff --git a/src/server.c b/src/server.c index d293d24..08fd53f 100644 --- a/src/server.c +++ b/src/server.c @@ -1,3 +1,7 @@ +/* + * Sample server implementation using SWIFT library + */ + #include #include #include @@ -8,7 +12,7 @@ #include "lib_swift.h" -int main() +int main(void) { Swift s = socketSwift(1); struct sockSwiftaddr my_addr, from; @@ -16,22 +20,23 @@ int main() socklen_t slen; struct listsockaddr lsa; ssize_t len; - + // populate sockSwiftaddr my_addr.sin_family = AF_INET; my_addr.sin_port = htons(SWIFT_PORT); - my_addr.sin_addr.N = 1; - my_addr.sin_addr.s_addr[0] = htonl(INADDR_ANY); - + my_addr.sin_addr.N = 1; + my_addr.sin_addr.s_addr[0] = htonl(INADDR_ANY); + //recvfromSwift(s, buf, 100, 0, (struct sockaddr *)&si_other, &slen); - + bindSwift(s, &my_addr, sizeof(my_addr)); len = listenfromSwift(s, buf, 100, 0, &from, &slen); transformFromSwiftToAddr(&lsa, from); printf("Received packet from %s:%d with data: %s %d\n", inet_ntoa(lsa.sa[0].sin_addr), ntohs(lsa.sa[0].sin_port), buf, (int)len); - + sendToSwift(s, buf, len, 0, &from, slen); - + closeSwift(s); + return 0; } -- 2.20.1