catalinux / Conn (public) (License: LGPLv2) (since 2016-03-01) (hash sha1)
Net library for easy building ipv4/ipv6 network daemons/clients
List of commits:
Subject Hash Author Date (UTC)
Tweaked a little the debug level for some messages. 1a27a1acf2ede62fb02b074f232badeb847bfcb8 Catalin(ux) M. BOIE 2009-08-31 17:39:21
Added Conn_lifetime (returns the time in ms between connected state and now). 4e3f1aaabc21d4cbdac26e42612ebd0298c8d86e Catalin(ux) M. BOIE 2009-08-31 17:22:37
Added Conn_sys that logs some system variables related to network perf. af960f317b8ca9a8f78fe44e80ddbdb6a9483e6f Catalin(ux) M. BOIE 2009-08-31 16:36:00
Better output flags. d57a98c2b158aeb30530c2e5188977a40336a360 Catalin(ux) M. BOIE 2009-08-25 20:37:55
Improved examples. 75439293c1d067327e606d72ec6290b43110bf24 Catalin(ux) M. BOIE 2009-08-25 20:37:29
Removed line1.c because duplicates code. 1119059afacde8d0b7b7dab77850dd6b71684190 Catalin(ux) M. BOIE 2009-08-25 20:11:52
Removed *.run becasue we have a generic run script. 007083cd9d1abefe4dd73e65c9026a2607fbcd4e Catalin(ux) M. BOIE 2009-08-25 20:09:00
Removed bind_s example because blackhole_s will take place. b9b06d98f00413b5a5df9d7bc9b3bd05b5536f28 Catalin(ux) M. BOIE 2009-08-25 20:07:38
Added Conn_set_address helper. 1b6e7e8a294ac88aa966e4e43bb77a4fdff0ca5a Catalin(ux) M. BOIE 2009-08-25 19:21:00
Fixed storing of local address (do not overwrite remote address). d431edba6699d1363e4d616aa6f96588272188b0 Catalin(ux) M. BOIE 2009-08-25 18:37:55
Added Conn_stop to eleganly stop Conn system. 4ca191771c5c119e9755a5af3158fabe43ddf5f2 Catalin(ux) M. BOIE 2009-08-25 18:30:32
Replaced Conn_protocol with Conn_get_socket_protocol. a1cbc5c612d82e6d1341524c67fe249648c81806 Catalin(ux) M. BOIE 2009-08-25 18:16:45
Compressed a little the POLL flags. 47b5dce395694c18c973e3ce6ba9a71c690a41bc Catalin(ux) M. BOIE 2009-08-25 18:16:16
Store also local address for incoming connections. 0548ce6434185cdd36e110c61315b4cb21849666 Catalin(ux) M. BOIE 2009-08-25 18:15:46
Added possibility to shutdown blackhole_s server by typing 'quit'. 5fd60900809e1a2d7554aa7fa93ce83b29214de0 Catalin(ux) M. BOIE 2009-08-25 17:54:27
Cosmetic changes. 7099dd49a270b9f4ecc0cb2e55254bef671202e5 Catalin(ux) M. BOIE 2009-08-25 17:54:15
Improved status output. 1ff597059bbb208b56ad18bf8324fae5b63950a2 Catalin(ux) M. BOIE 2009-08-25 17:53:44
Conn_type_* becomes CONN_TYPE_*. b284a20cc5430042cc662edc4d121c7f18cb3569 Catalin(ux) M. BOIE 2009-08-25 17:52:51
Improved status logging. 54fea00d8f16127244fd15b209c24f606adb20b3 Catalin(ux) M. BOIE 2009-08-25 17:33:14
Added Conn_strcasestr for case insensitive search in buffer. ca14b37b2a1f23887ad12fed729a3dd0ff253443 Catalin(ux) M. BOIE 2009-08-24 17:18:24
Commit 1a27a1acf2ede62fb02b074f232badeb847bfcb8 - Tweaked a little the debug level for some messages.
Signed-off-by: Catalin(ux) M. BOIE <catab@embedromix.ro>
Author: Catalin(ux) M. BOIE
Author date (UTC): 2009-08-31 17:39
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2009-09-02 15:42
Parent(s): 4e3f1aaabc21d4cbdac26e42612ebd0298c8d86e
Signing key:
Tree: 3ec2e672435bf42e445ff20aa40de6aa02c93b14
File Lines added Lines deleted
Conn.c 5 4
File Conn.c changed (mode: 100644) (index 06a40e2..530f188)
... ... int Conn_enqueue(struct Conn *C, void *buf, const size_t count)
268 268
269 269 static void Conn_free_intern(struct Conn *C) static void Conn_free_intern(struct Conn *C)
270 270 { {
271 Log(7, "%s: Cleaning-up slot in %s state, slot=%u, id=%llu [%s]...\n",
271 Log(11, "%s: Cleaning-up slot in %s state, slot=%u, id=%llu [%s]...\n",
272 272 __FUNCTION__, Conn_state(C), C->slot, C->id, Conn_errno(C)); __FUNCTION__, Conn_state(C), C->slot, C->id, Conn_errno(C));
273 273
274 274 snprintf(Conn_error, sizeof(Conn_error), snprintf(Conn_error, sizeof(Conn_error),
 
... ... static void Conn_trytoconnect(void)
1013 1013 /* Set syn time */ /* Set syn time */
1014 1014 Conns[i].conn_syn = Conn_now; Conns[i].conn_syn = Conn_now;
1015 1015
1016 Log(9, "\tConnecting...\n");
1016 Log(11, "\tConnecting...\n");
1017 1017 ret = connect(Conns[i].fd, res->ai_addr, res->ai_addrlen); ret = connect(Conns[i].fd, res->ai_addr, res->ai_addrlen);
1018 1018 if ((ret != 0) && (errno != EINPROGRESS)) { if ((ret != 0) && (errno != EINPROGRESS)) {
1019 1019 Conns[i].state = CONN_STATE_ERROR; Conns[i].state = CONN_STATE_ERROR;
 
... ... int Conn_poll(const int timeout)
1337 1337 if (ret < 0) if (ret < 0)
1338 1338 return -1; return -1;
1339 1339
1340 Log(15, "\tDo compacting, expiration and band stuff...\n");
1340 Log(9, "\tDo compacting, expiration and band stuff (%d event(s)...\n",
1341 ret);
1341 1342 i = 0; i = 0;
1342 1343 while (i < Conn_no) { while (i < Conn_no) {
1343 1344 /* /*
 
... ... int Conn_poll(const int timeout)
1348 1349
1349 1350 /* Closing connection if it is in error state */ /* Closing connection if it is in error state */
1350 1351 if (Conns[i].error_state > 0) { if (Conns[i].error_state > 0) {
1351 Log(5, "\tSlot %u in error, exchange with pos %u.\n",
1352 Log(11, "\tSlot %u in error, exchange with pos %u.\n",
1352 1353 i, last); i, last);
1353 1354 Conn_move_slot(i, last); Conn_move_slot(i, last);
1354 1355 Conn_free_intern(&Conns[last]); Conn_free_intern(&Conns[last]);
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/catalinux/Conn

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/catalinux/Conn

Clone this repository using git:
git clone git://git.rocketgit.com/user/catalinux/Conn

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main