/TODO (b9f9dab2d0bb2762dea406c9e87d34eb38a18d9d) (1453 bytes) (mode 100644) (type blob)
[ ] A la redir stuff
[ ] Bridge 2 connections together for proxy stuff.
[ ] Use a plugin arhitecture for select/poll/epoll/etc.
[ ] Check PACKET: can we send with "send" without knowing the MAC?
[ ] alloc nu functioneaza bine!
[ ] La status, input-ul nu se afiseaza corect. Sa fac un callback
care este apelat dupa poll.
[ ] UDP
[ ] Pe ipv6 asteapta sa apas o tasta inainte de a-mi da +OK!
[ ] Ce se intimpla daca se ajunge la ~ sfirsitul buffer-ului si nu pot inca sa
procesez datele?
[ ] Coada pentru stergerea intrarilor invalide.
[ ] Queue for delete/trytoconnect/etc.
Performance:
[ ] Take care for /proc/net/netstat
[ ] /proc/sys/net/ipv4/tcp_mem
Now (512M): 49152 65536 98304
Now (256M): 24576 32768 49152 - 55 conns/sec
Test with: 80000 120000 240000 - 92 conns/sec
Test with 160000 240000 480000 - 96 conns/sec
After:
echo "16000 64000 512000" > tcp_[rw]mem - 96
After echo 1 > /proc/sys/net/ipv4/tcp_low_latency - 156 conns/sec
Pentru a reduce numarul de conexiuni in TIME-WAIT:
echo 200 > /proc/sys/net/ipv4/tcp_max_tw_buckets
[ ] Conn_data_consume '==' -> '>='
[ ] Replace config.h with code
[ ] Seems that if we reconnect very fast, poll is hanging.
[ ] Add loadbalancing and failover in the base code.
[ ] Automaticaly put \0 at the end of receive data.
[ ] Add the possibility to wait for an char/string before calling recv callback
[ ] Change socket buffer accordingly with user settings to minimize
needed memory.
Mode |
Type |
Size |
Ref |
File |
100644 |
blob |
1945 |
fecf0e7a7e8580485101a179685aedc7e00affbb |
Changelog |
100644 |
blob |
39966 |
3101607ebe0288de591acda2d558579b4c54ccac |
Conn.c |
100644 |
blob |
7051 |
e2302f47f9beb6d949268fee80c918298c6701a1 |
Conn.h |
100644 |
blob |
717 |
1394784a1fafde8f15d3fba489c056bc045a8003 |
Conn.spec.in |
100644 |
blob |
30 |
d987fa5df957830331139935d517009e2911b0cf |
INSTALL |
100644 |
blob |
25275 |
92b8903ff3fea7f49ef5c041b67a087bca21c5ec |
LICENSE |
100644 |
blob |
498 |
9b760aafe85b71ce4d52b50f6b55ff73cff7bfc6 |
Makefile.head |
100644 |
blob |
710 |
570276f936ae7d28a85c1c29c92645f3ba6a9543 |
Makefile.in |
100644 |
blob |
462 |
1b23184ebfd6fb72c20de1e4b011f15aaffb214f |
Makefile.tail |
100644 |
blob |
4 |
c4846601e2d94d4ee8b2c17cc37c0a829c49d1e9 |
PROJECT |
100644 |
blob |
0 |
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 |
PROJECT_EXCLUDE |
100644 |
blob |
3 |
8f92bfdd49766b1907d4aec8d3b0f9ed6129d0e6 |
PROJECT_REV |
100644 |
blob |
4 |
0702cb5bfbb0169457c00f947f4e5601f8cd77e7 |
PROJECT_TARGETS |
100644 |
blob |
6 |
b0f3d96f877256ed9ae03858ecc5185a989b1d1b |
PROJECT_VER |
100644 |
blob |
192 |
5b11bdfb23857d8588845465aef993b320596b44 |
README |
100644 |
blob |
1453 |
b9f9dab2d0bb2762dea406c9e87d34eb38a18d9d |
TODO |
100755 |
blob |
2315 |
11e05cc644a8af4277006af69d78277a143590c4 |
configure |
040000 |
tree |
- |
d4c9c4a69c5cfa2a84316967185f1661b6817779 |
docs |
040000 |
tree |
- |
a4c21858806284281d1fe8479845411711694ebb |
examples |
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