You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* implement support for LC_GROUP_UPDT (this includes the RPC between the CC and VC's to announce active TG lists); completely and entirely refactor how packet handling threads are done, use a new method introduced for this, thread pool resources. this will ultimately be more resource consuming depending on configuration as the worker threads for packet processing stay alive along side the main process. this should be more performant (because we're not constantly creating and destroying threads) and will prevent error conditions that can cause an extreme number of threads to spawn;
* reduce influx and V.24 thread pool sizes; add calculation of how long between when a packet was Rx to when it began proper processing;
* don't use void* for the task routines;
* rename ThreadPoolCallback to ThreadPoolTask; add some checking around task validness; correct a valgrind issue with RawFrameQueue() write not deleting the buffer before return;
* valgrind cleanups;
* gate active TG from CC to VC updates at 5s (prevent API spam);
* update package version;
* don't attempt to send active TG updates to 0.0.0.0;
* make notification of active TGs CC -> VC optional;
* correct ThreadPool issue on Win32; split UDP PCM audio processing into its own thread; implement user control of inter-audio frame delay and jitter buffer (if using inter-audio frame delay);
* lock queue;
* add custom classes for STL containers that support mutex locking for thread safe operation; modify ChannelLookup and AffiliationLookup to use concurrent containers; modify FNE to use concurrent containers for internal lists;
* remove mutex used for protecting udp packet deque;
* more concurrency solidification;
* further concurrency class usage; bump version number to R04H30;
* add --boot commandline argument to reboot modem into bootloader without any interactive interface;
* cleanup program -h usage display;
* incorrect opcode define;
* update README.md;
* correct incorrect string format for non-useAlternatePortForDiagnostics;
* update README.md;
* simplify influxdb worker task function;
* refactor PL_ACT_PEER_LIST opcode entirely, use zlib and compress list sent and properly block data sent;
* don't waste cycles on building the peer list repeatedly, build it once for the cycle;
* deduplicate compress/decompress code into a static C++ class;
* stylecop file formatting;
* add table locking and remove at find;
* deduplicate implementation;
* cleanup unused label; change FrameQueue's unordered_map to a concurrent one; fix incorrect setting of __lock() for concurrent containers;
* add more timestream map locking;
* fix incorrect behavior when deriving initial timestamp for a call stream; correct incorrect behavior inserting new stream in to timestamps table for frame queue; fix incorrect behavior deriving timestamp for bridge RTP;
* fix issue with naive approach to handling PL_ACT_PEER_LIST data fragementation;
* disable accidental debug code;
* instead of asserting, throw a log error message and discard network packet;
* lock the talkgroup tables when a find is in progress (this will prevent some weird concurrency behaviors because talkgroup rules does not use the concurrent vector);
* if filter headers or terminators is enabled, and the target peer is in the exclusion list, do not send headers or terminators;
* exclusion check should happen before the rewrite check;
* implement dvmpatch, this is a new utility that allows simple TG to TG patching;
* ensure FNE downstream peers that report as peer link have implicit always rules applied to them (i.e. they will *always* receive *all* traffic); correct order of operations when deleting a peer entry (delete connection *AFTER* removing from peers table);
* document concern over possible null ref concurrency issue;
* don't be overly aggressive with FNE process niceness, nice of -10 is more then sufficient;
Copy file name to clipboardExpand all lines: README.md
+27-2Lines changed: 27 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,7 @@ This project suite generates a few executables:
15
15
-`dvmhost` host software that connects to the DVM modems (both air interface for repeater and hotspot or P25 DFSI for commerical P25 hardware) and is the primary data processing application for digital modes. [See configuration](#dvmhost-configuration) to configure and calibrate.
16
16
-`dvmfne` a network "core", this provides a central server for `dvmhost` instances to connect to and be networked with, allowing relay of traffic and other data between `dvmhost` instances and other `dvmfne` instances. [See configuration](#dvmfne-configuration) to configure.
17
17
-`dvmbridge` a analog/PCM audio bridge, this provides the capability for analog or PCM audio resources to be connected to a `dvmfne` instance, allowing realtime vocoding of traffic. [See configuration](#dvmbridge-configuration) to configure.
18
+
-`dvmpatch` a talkgroup patching utility, this provides the capability to manually patch talkgroups of the same digital mode together. [See configuration](#dvmpatch-configuration) to configure.
18
19
-`dvmcmd` a simple command-line utility to send remote control commands to a `dvmhost` or `dvmfne` instance with REST API configured.
19
20
20
21
### Supplementary Support Applications
@@ -215,12 +216,18 @@ using the command line parameter `-wasapi` will force `dvmbridge` to utilize WAS
215
216
216
217
There is no other real configuration for a `dvmbridge` instance other then setting the appropriate parameters within the configuration files.
217
218
219
+
## dvmpatch Configuration
220
+
221
+
This source repository contains configuration example files within the configs folder, please review `patch-config.example.yml` for the `dvmpatch` for details on various configurable options.
222
+
223
+
There is no other real configuration for a `dvmpatch` instance other then setting the appropriate parameters within the configuration files.
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "The DVM Host software provides the host computer implementation of a mixed-mode DMR, P25 and/or NXDN or dedicated-mode DMR, P25 or NXDN repeater system that talks to the actual modem hardware. The host software; is the portion of a complete Over-The-Air modem implementation that performs the data processing, decision making and FEC correction for a digital repeater.")
0 commit comments