Commit Graph

16 Commits (e6188b21aa424b8948bda97eb7c4838a4b6f9137)

Author SHA1 Message Date
Bryan Biedenkapp e6188b21aa instead of using a while loop, just block based on whether or not another thread is holding the queue mutex;
10 months ago
Bryan Biedenkapp 774558ebd7 add better locking around frame queue flushing and enqueuing; make peer ACK messages direct writes (don't queue them);
10 months ago
Bryan Biedenkapp c68b99dc61 silence frame queue read errors after 5 consecutive errors (this is to prevent log spam);
11 months ago
Bryan Biedenkapp 538763c203 allow length written to be returned;
1 year ago
Bryan Biedenkapp 59a5482473 silence "Failed writing data to the network" messages; silence out-of-sequence warnings if the pktSeq is 0; when the master reports it is closing, have peers restart their connection states;
2 years ago
Bryan Biedenkapp 47d89febdf fix various valgrind reports;
2 years ago
Bryan Biedenkapp 882c2564ca correct double spaced formatting of CPP files in common; convert dvmhost to Doxygen documentation format; convert dvmfne to Doxygen documentation format; convert dvmcmd to Doxygen documentation format;
2 years ago
Bryan Biedenkapp 10e1e12be0 add doxygen configuration for dvmhost project; add doxygen output directory; convert common static library to use doxygen style commenting and documentation;
2 years ago
Bryan Biedenkapp 5571a71e4e replace manual lock/unlock with lock_guard to ensure a lock is held in a scope, and released when a scope is closed;
2 years ago
Bryan Biedenkapp e348b15d7f for the purpose of performance handle incoming packets in their own threads (NOTE: this commit is *experimental* and may burn your house down and kick your dog, and it most certainly has a memory leak I'm working on somewhere);
2 years ago
Bryan Biedenkapp eb57f1b5d8 implement functionality to block traffic to specific peers from specific external peers; use std::string over const char* wherever possible to limit pointer passing; implement support in FrameQueue and RawFrameQueue to bypass the queue and directly send messages to specified peers (useful in some situations for packets to be immediately dispatched vs queuing and batching); chunk RID list transmissions to aid in increasing performance (this will likely also need to be done with the TGID lists in the future as well); refactor transmitting ACL lists to peers into its own spun off thread so we don't block the main network processing loop (and infact, this requires documentation; since at a certain peer size DVM network partitioning should be considered to reduce the number of concurrent peers serviced by any given FNE and to better load balance connections across a network, instead of relying on a singular central FNE); implement /peer/count REST API to simply return the known connected count of peers; disable the forced ACL list update functionality (for now);
2 years ago
Bryan Biedenkapp 80d38ccf3a refactor and reorganize network socket handling classes to be more consistent;
2 years ago
Bryan Biedenkapp 5a5104ba2f treewide: perform general refactor of file headers, I've modified the file headers to follow rules from: https://www.kernel.org/doc/html/next/process/license-rules.html, this trims/compresses the file header section a bit reducing the number of lines at the top of every file quite a bit, going forward all new files should follow this new format (if its good enough for the Linux kernel, its good enough for me);
2 years ago
Bryan Biedenkapp d9e2458722 implement support for low-level TCP sockets; deprecate and remove new_unique macro and use appropriate std::make_unique; apply various clang linting;
2 years ago
Bryan Biedenkapp 8ff7067eca mplement experimental support to AES-256 encrypt the network connection; cleanup some instances where buffers were not being cleaned up properly; cleanup some of the AESCrypto implementation; remove references to some little used compiler macros;
2 years ago
Bryan Biedenkapp 9611af1374 reorganize utility macros from Defines.h to Utils.h; cleanup unneeded includes in some places; cleanup files;
2 years ago

Powered by TurnKey Linux.