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)
Removed direct access to Conn structure in s.c example. f6215273602571ef2c98479bdba930ebe312cbc9 Catalin(ux) M. BOIE 2010-08-23 19:38:33
Bumped the version to 1.0.32. f158fca2cf9f3285ae761cd4ce30b01911b84385 Catalin(ux) M. BOIE 2010-06-23 21:30:47
The cache for epoll_ctl, has to take also the slot in consideration. ed378c16927c707feee481b2cd0ea7fbdf257d9d Catalin(ux) M. BOIE 2010-06-09 19:18:03
After calling getsockname, set cache as clean. 199f0fd96b064fd1e63f5773b1e7ab58e7d91303 Catalin(ux) M. BOIE 2010-06-08 18:30:20
Do not try to call getsockname if connection is not opened. e9853b5b5a01df3c5e07f6fe4607a68fd7181b39 Catalin(ux) M. BOIE 2010-06-08 18:28:49
Supports kernels below 2.6.9 (epoll_ctl). 97919a022fae39bdefc3f7e4c50526fb473dfd34 Catalin(ux) M. BOIE 2010-06-08 18:06:35
Cosmetic logging. ad806920255f8ca5f9281b6b6a3a53edf2d5088f Catalin(ux) M. BOIE 2010-06-08 17:35:45
When generating one line of slot status, do not append \n. 20ed77b4bf5909ded12cd225753a8858d8941792 Catalin(ux) M. BOIE 2010-06-08 15:57:16
Indented Conn_poll_cb to better watch logs. 58d734a8895b03eb17724eefe37e862c9665fb2c Catalin(ux) M. BOIE 2010-06-08 15:52:44
If we have POLLOUT set and the queue is empty, do not call recv function. 2f3b266eea11dea7c28f1c24b615f667585a215e Catalin(ux) M. BOIE 2010-06-08 15:27:40
Conn_{addr,port}_{local,remote} functions added. 47643b30ea900240e821983c89eb1f806f91c6ea Catalin(ux) M. BOIE 2010-06-08 15:03:52
Wrong cache consulted! 6d018b014156ada0bf1a138ac2178386f6bb90ab Catalin(ux) M. BOIE 2010-06-08 15:03:34
If slot is in FREE state and we get events, do not abort, but log an error. 52301f684bb4a49fd74556f8b15fee643c4bfb06 Catalin(ux) M. BOIE 2010-06-07 20:25:21
More verbose logging and added some TODOs. a27014689701b1dd3d0e3c02629d3c7dd0edc77e Catalin(ux) M. BOIE 2010-06-07 20:24:43
Added Conn_[io]qlen and obsoleted Conn_qlen (ambiguous). be3822589afe052fade15fd81afee3549217131a Catalin(ux) M. BOIE 2010-06-07 20:23:39
Use u32 field of epoll. ptr on 64bit gave an warning. 37c86810ceaadd0c8139f11e3737577efea4cabd Catalin(ux) M. BOIE 2010-06-07 19:46:15
Export CONN_VERSION in Conn_config.h d34d7a1da235b00c3aa1c8e0494310c4dd100886 Catalin(ux) M. BOIE 2010-06-07 19:45:53
In Conn_poll_cb, show human readable events. a3e305582e9bf1185254f8feeab90c51af626443 Catalin(ux) M. BOIE 2010-06-07 17:22:49
Cosmetic logs. 937e40b54fabf19d7ed2102c104585bea0181634 Catalin(ux) M. BOIE 2010-06-07 17:22:25
Export Conn_poll_status. 8d6e2e96bd8e7a34a239533edb7484d78de69995 Catalin(ux) M. BOIE 2010-06-07 17:21:57
Commit f6215273602571ef2c98479bdba930ebe312cbc9 - Removed direct access to Conn structure in s.c example.
Author: Catalin(ux) M. BOIE
Author date (UTC): 2010-08-23 19:38
Committer name: Catalin(ux) M. BOIE
Committer date (UTC): 2010-08-23 19:38
Parent(s): f158fca2cf9f3285ae761cd4ce30b01911b84385
Signing key:
Tree: 5aad5c5c31d7b370261ff75654ab3fd12a4890f1
File Lines added Lines deleted
examples/s.c 5 5
File examples/s.c changed (mode: 100644) (index 7cdc8a1..020ab87)
... ... static void s_accept(struct Conn *C)
40 40 char *s; char *s;
41 41
42 42 Log(4, "%s (A connection was accepted from [%s/%d]. Enqueue greeting...\n", Log(4, "%s (A connection was accepted from [%s/%d]. Enqueue greeting...\n",
43 __FUNCTION__, C->addr, C->port);
43 __FUNCTION__, Conn_addr_remote(C), Conn_port_remote(C));
44 44
45 45 s = "Hello!\r\n"; s = "Hello!\r\n";
46 46 err = Conn_enqueue(C, s, strlen(s)); err = Conn_enqueue(C, s, strlen(s));
 
... ... static void s_accept(struct Conn *C)
53 53 static void s_close(struct Conn *C) static void s_close(struct Conn *C)
54 54 { {
55 55 Log(5, "%s (A connection will be closed [%s/%d] id=%lld)\n", Log(5, "%s (A connection will be closed [%s/%d] id=%lld)\n",
56 __FUNCTION__, C->addr, C->port, Conn_getid(C));
56 __FUNCTION__, Conn_addr_remote(C), Conn_addr_remote(C), Conn_getid(C));
57 57 } }
58 58
59 59 static int s_data_cb(struct Conn *C, char *line) static int s_data_cb(struct Conn *C, char *line)
 
... ... static int s_data_cb(struct Conn *C, char *line)
63 63
64 64 if (debug >= 8) { if (debug >= 8) {
65 65 dump = Conn_dump(line, strlen(line)); dump = Conn_dump(line, strlen(line));
66 Log(8, "%s: recv head=%d tail=%d bytes on slot %d: [%s]\n",
67 __FUNCTION__, C->ibuf_head, C->ibuf_tail,
68 C->slot, dump);
66 Log(8, "%s: recv: [%s]\n",
67 __FUNCTION__,
68 dump);
69 69 free(dump); free(dump);
70 70 } }
71 71
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