mirror of
https://github.com/nostar/urfd.git
synced 2026-11-08 12:26:46 +00:00
Merge branch 'match'
This commit is contained in:
commit
381268fb0b
5 files changed
+96
-101
No files matched your search
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
class xReflector {
|
||||
|
||||
|
||||
public $Nodes = null;
|
||||
public $Stations = null;
|
||||
public $Peers = null;
|
||||
@@ -27,7 +27,7 @@ class xReflector {
|
||||
public $Interlinks = null;
|
||||
private $InterlinkXML = null;
|
||||
private $ReflectorXML = null;
|
||||
|
||||
|
||||
public function __construct() {
|
||||
$this->Nodes = array();
|
||||
$this->Stations = array();
|
||||
@@ -35,61 +35,61 @@ class xReflector {
|
||||
$this->Interlinks = array();
|
||||
$this->Transferinterlink = false;
|
||||
}
|
||||
|
||||
|
||||
public function LoadXML() {
|
||||
if ($this->XMLFile != null) {
|
||||
$handle = fopen($this->XMLFile, 'r');
|
||||
$this->XMLContent = fread($handle, filesize($this->XMLFile));
|
||||
fclose($handle);
|
||||
|
||||
|
||||
$this->ServiceName = substr($this->XMLContent, strpos($this->XMLContent, "<XLX")+4, 3);
|
||||
if (!is_numeric($this->ServiceName)) {
|
||||
if (preg_match('/[^a-zA-Z0-9]/', $this->ServiceName) == 1) {
|
||||
$this->ServiceName = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$this->ReflectorName = "XLX".$this->ServiceName;
|
||||
|
||||
|
||||
$LinkedPeersName = "XLX".$this->ServiceName." linked peers";
|
||||
$LinkedNodesName = "XLX".$this->ServiceName." linked nodes";
|
||||
$LinkedUsersName = "XLX".$this->ServiceName." heard users";
|
||||
|
||||
|
||||
$XML = new ParseXML();
|
||||
|
||||
|
||||
$AllNodesString = $XML->GetElement($this->XMLContent, $LinkedNodesName);
|
||||
$tmpNodes = $XML->GetAllElements($AllNodesString, "NODE");
|
||||
|
||||
|
||||
for ($i=0;$i<count($tmpNodes);$i++) {
|
||||
$Node = new Node($XML->GetElement($tmpNodes[$i], 'Callsign'), $XML->GetElement($tmpNodes[$i], 'IP'), $XML->GetElement($tmpNodes[$i], 'LinkedModule'), $XML->GetElement($tmpNodes[$i], 'Protocol'), $XML->GetElement($tmpNodes[$i], 'ConnectTime'), $XML->GetElement($tmpNodes[$i], 'LastHeardTime'), CreateCode(16));
|
||||
$this->AddNode($Node);
|
||||
}
|
||||
|
||||
|
||||
$AllStationsString = $XML->GetElement($this->XMLContent, $LinkedUsersName);
|
||||
$tmpStations = $XML->GetAllElements($AllStationsString, "STATION");
|
||||
for ($i=0;$i<count($tmpStations);$i++) {
|
||||
$Station = new Station($XML->GetElement($tmpStations[$i], 'Callsign'), $XML->GetElement($tmpStations[$i], 'Via node'), $XML->GetElement($tmpStations[$i], 'Via peer'), $XML->GetElement($tmpStations[$i], 'LastHeardTime'), $XML->GetElement($tmpStations[$i], 'On module'));
|
||||
$this->AddStation($Station, false);
|
||||
}
|
||||
|
||||
|
||||
$AllPeersString = $XML->GetElement($this->XMLContent, $LinkedPeersName);
|
||||
$tmpPeers = $XML->GetAllElements($AllPeersString, "PEER");
|
||||
for ($i=0;$i<count($tmpPeers);$i++) {
|
||||
$Peer = new Peer($XML->GetElement($tmpPeers[$i], 'Callsign'), $XML->GetElement($tmpPeers[$i], 'IP'), $XML->GetElement($tmpPeers[$i], 'LinkedModule'), $XML->GetElement($tmpPeers[$i], 'Protocol'), $XML->GetElement($tmpPeers[$i], 'ConnectTime'), $XML->GetElement($tmpPeers[$i], 'LastHeardTime'));
|
||||
$this->AddPeer($Peer, false);
|
||||
}
|
||||
|
||||
$this->Version = $XML->GetElement($this->XMLContent, "Version");
|
||||
|
||||
$this->Version = $XML->GetElement($this->XMLContent, "Version");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function GetVersion() {
|
||||
return $this->Version;
|
||||
}
|
||||
|
||||
|
||||
public function GetReflectorName() {
|
||||
return $this->ReflectorName;
|
||||
}
|
||||
|
||||
|
||||
public function SetXMLFile($XMLFile) {
|
||||
if (file_exists($XMLFile) && (is_readable($XMLFile))) {
|
||||
$this->XMLFile = $XMLFile;
|
||||
@@ -99,7 +99,7 @@ class xReflector {
|
||||
$this->XMLContent = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function SetPIDFile($ProcessIDFile) {
|
||||
if (file_exists($ProcessIDFile)) {
|
||||
$this->ProcessIDFile = $ProcessIDFile;
|
||||
@@ -110,11 +110,11 @@ class xReflector {
|
||||
$this->ServiceUptime = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function GetServiceUptime() {
|
||||
return $this->ServiceUptime;
|
||||
}
|
||||
|
||||
|
||||
public function SetFlagFile($Flagfile) {
|
||||
if (file_exists($Flagfile) && (is_readable($Flagfile))) {
|
||||
$this->Flagfile = $Flagfile;
|
||||
@@ -122,7 +122,7 @@ class xReflector {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public function LoadFlags() {
|
||||
if ($this->Flagfile != null) {
|
||||
$this->Flagarray = array();
|
||||
@@ -133,18 +133,18 @@ class xReflector {
|
||||
while(!feof($handle)) {
|
||||
$row = fgets($handle,1024);
|
||||
$tmp = explode(";", $row);
|
||||
|
||||
|
||||
if (isset($tmp[0])) { $this->Flagarray[$i]['Country'] = $tmp[0]; } else { $this->Flagarray[$i]['Country'] = 'Undefined'; }
|
||||
if (isset($tmp[1])) { $this->Flagarray[$i]['ISO'] = $tmp[1]; } else { $this->Flagarray[$i]['ISO'] = "Undefined"; }
|
||||
//$this->Flagarray[$i]['DXCC'] = array();
|
||||
if (isset($tmp[2])) {
|
||||
if (isset($tmp[2])) {
|
||||
$tmp2 = explode("-", $tmp[2]);
|
||||
for ($j=0;$j<count($tmp2);$j++) {
|
||||
//$this->Flagarray[$i]['DXCC'][] = $tmp2[$j];
|
||||
$this->Flagarray_DXCC[ trim($tmp2[$j]) ] = $i;
|
||||
}
|
||||
}
|
||||
$i++;
|
||||
$i++;
|
||||
}
|
||||
fclose($handle);
|
||||
}
|
||||
@@ -152,17 +152,17 @@ class xReflector {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public function AddNode($NodeObject) {
|
||||
if (is_object($NodeObject)) {
|
||||
$this->Nodes[] = $NodeObject;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function NodeCount() {
|
||||
return count($this->Nodes);
|
||||
}
|
||||
|
||||
|
||||
public function GetNode($ArrayIndex) {
|
||||
if (isset($this->Nodes[$ArrayIndex])) {
|
||||
return $this->Nodes[$ArrayIndex];
|
||||
@@ -175,11 +175,11 @@ class xReflector {
|
||||
$this->Peers[] = $PeerObject;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function PeerCount() {
|
||||
return count($this->Peers);
|
||||
}
|
||||
|
||||
|
||||
public function GetPeer($ArrayIndex) {
|
||||
if (isset($this->Peer[$ArrayIndex])) {
|
||||
return $this->Peer[$ArrayIndex];
|
||||
@@ -189,34 +189,34 @@ class xReflector {
|
||||
|
||||
public function AddStation($StationObject, $AllowDouble = false) {
|
||||
if (is_object($StationObject)) {
|
||||
|
||||
|
||||
if ($AllowDouble) {
|
||||
$this->Stations[] = $StationObject;
|
||||
}
|
||||
else {
|
||||
$FoundStationInList = false;
|
||||
$i = 0;
|
||||
|
||||
|
||||
$tmp = explode(" ", $StationObject->GetCallsign());
|
||||
$RealCallsign = trim($tmp[0]);
|
||||
|
||||
|
||||
while (!$FoundStationInList && $i<$this->StationCount()) {
|
||||
if ($this->Stations[$i]->GetCallsignOnly() == $RealCallsign) {
|
||||
$FoundStationInList = true;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
||||
|
||||
if (!$FoundStationInList) {
|
||||
if (strlen(trim($RealCallsign)) > 3) {
|
||||
$this->Stations[] = $StationObject;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function GetSuffixOfRepeater($Repeater, $LinkedModul, $StartWithIndex = 0) {
|
||||
$suffix = "";
|
||||
$found = false;
|
||||
@@ -232,7 +232,7 @@ class xReflector {
|
||||
}
|
||||
return $suffix;
|
||||
}
|
||||
|
||||
|
||||
public function GetCallsignAndSuffixByID($RandomId) {
|
||||
$suffix = "";
|
||||
$callsign = "";
|
||||
@@ -250,18 +250,18 @@ class xReflector {
|
||||
}
|
||||
return 'N/A';
|
||||
}
|
||||
|
||||
|
||||
public function StationCount() {
|
||||
return count($this->Stations);
|
||||
}
|
||||
|
||||
|
||||
public function GetStation($ArrayIndex) {
|
||||
if (isset($this->Stations[$ArrayIndex])) {
|
||||
return $this->Stations[$ArrayIndex];
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public function GetFlag($Callsign) {
|
||||
$Image = "";
|
||||
$Letters = 4;
|
||||
@@ -277,7 +277,7 @@ class xReflector {
|
||||
}
|
||||
return array(strtolower($Image), $Name);
|
||||
}
|
||||
|
||||
|
||||
public function GetModules() {
|
||||
$out = array();
|
||||
for ($i=0;$i<$this->NodeCount();$i++) {
|
||||
@@ -295,7 +295,7 @@ class xReflector {
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
||||
public function GetModuleOfNode($Node) {
|
||||
die("FUNCTION DEPRECATED...");
|
||||
$Node = trim(str_replace(" ", "-", $Node));
|
||||
@@ -305,38 +305,38 @@ class xReflector {
|
||||
$i = 0;
|
||||
$Module = "";
|
||||
while (!$found && $i<$this->NodeCount()) {
|
||||
if (strpos($Node, $this->Nodes[$i]->GetFullCallsign()) !== false) {
|
||||
$Module = $this->Nodes[$i]->GetLinkedModule();
|
||||
if (strpos($Node, $this->Nodes[$i]->GetFullCallsign()) !== false) {
|
||||
$Module = $this->Nodes[$i]->GetLinkedModule();
|
||||
$found = true;
|
||||
}
|
||||
|
||||
|
||||
$i++;
|
||||
}
|
||||
return $Module;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function GetCallSignsInModules($Module) {
|
||||
$out = array();
|
||||
for ($i=0;$i<$this->NodeCount();$i++) {
|
||||
if ($this->Nodes[$i]->GetLinkedModule() == $Module) {
|
||||
$out[] = $this->Nodes[$i]->GetCallsign();
|
||||
}
|
||||
}
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
||||
public function GetNodesInModulesById($Module) {
|
||||
$out = array();
|
||||
for ($i=0;$i<$this->NodeCount();$i++) {
|
||||
if ($this->Nodes[$i]->GetLinkedModule() == $Module) {
|
||||
$out[] = $this->Nodes[$i]->GetRandomID();
|
||||
}
|
||||
}
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
|
||||
|
||||
public function SetCallingHome($CallingHomeVariables, $Hash) {
|
||||
|
||||
|
||||
if (!isset($CallingHomeVariables['Active'])) { $CallingHomeVariables['Active'] = false; }
|
||||
if (!isset($CallingHomeVariables['MyDashBoardURL'])) { $CallingHomeVariables['MyDashBoardURL'] = ''; }
|
||||
if (!isset($CallingHomeVariables['ServerURL'])) { $CallingHomeVariables['ServerURL'] = ''; }
|
||||
@@ -344,16 +344,16 @@ class xReflector {
|
||||
if (!isset($CallingHomeVariables['Comment'])) { $CallingHomeVariables['Comment'] = ''; }
|
||||
if (!isset($CallingHomeVariables['OverrideIPAddress'])) { $CallingHomeVariables['OverrideIPAddress'] = false; }
|
||||
if (!isset($CallingHomeVariables['InterlinkFile'])) { $CallingHomeVariables['InterlinkFile'] = ''; }
|
||||
|
||||
if (!file_exists($CallingHomeVariables['InterlinkFile'])) {
|
||||
$this->Interlinkfile = '';
|
||||
|
||||
if (!file_exists($CallingHomeVariables['InterlinkFile'])) {
|
||||
$this->Interlinkfile = '';
|
||||
$this->Transferinterlink = false;
|
||||
}
|
||||
else {
|
||||
$this->Transferinterlink = true;
|
||||
$this->Interlinkfile = $CallingHomeVariables['InterlinkFile'];
|
||||
}
|
||||
|
||||
|
||||
$this->CallingHomeActive = ($CallingHomeVariables['Active'] === true);
|
||||
$this->CallingHomeHash = $Hash;
|
||||
$this->CallingHomeDashboardURL = $CallingHomeVariables['MyDashBoardURL'];
|
||||
@@ -361,13 +361,13 @@ class xReflector {
|
||||
$this->CallingHomeCountry = $CallingHomeVariables['Country'];
|
||||
$this->CallingHomeComment = $CallingHomeVariables['Comment'];
|
||||
$this->CallingHomeOverrideIP = $CallingHomeVariables['OverrideIPAddress'];
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function PushCallingHome() {
|
||||
$CallingHome = @fopen($this->CallingHomeServerURL."?ReflectorName=".$this->ReflectorName."&ReflectorUptime=".$this->ServiceUptime."&ReflectorHash=".$this->CallingHomeHash."&DashboardURL=".$this->CallingHomeDashboardURL."&Country=".urlencode($this->CallingHomeCountry)."&Comment=".urlencode($this->CallingHomeComment)."&OverrideIP=".$this->CallingHomeOverrideIP, "r");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function ReadInterlinkFile() {
|
||||
if (file_exists($this->Interlinkfile) && (is_readable($this->Interlinkfile))) {
|
||||
$this->Interlinks = array();
|
||||
@@ -379,7 +379,7 @@ class xReflector {
|
||||
$this->Interlinks[] = new Interlink();
|
||||
if (isset($Interlink[0])) { $this->Interlinks[count($this->Interlinks)-1]->SetName(trim($Interlink[0])); }
|
||||
if (isset($Interlink[1])) { $this->Interlinks[count($this->Interlinks)-1]->SetAddress(trim($Interlink[1])); }
|
||||
if (isset($Interlink[2])) {
|
||||
if (isset($Interlink[2])) {
|
||||
$Modules = str_split(trim($Interlink[2]), 1);
|
||||
for ($j=0;$j<count($Modules);$j++) {
|
||||
$this->Interlinks[count($this->Interlinks)-1]->AddModule($Modules[$j]);
|
||||
@@ -391,7 +391,7 @@ class xReflector {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
public function PrepareInterlinkXML() {
|
||||
$xml = '
|
||||
<interlinks>';
|
||||
@@ -407,7 +407,7 @@ class xReflector {
|
||||
</interlinks>';
|
||||
$this->InterlinkXML = $xml;
|
||||
}
|
||||
|
||||
|
||||
public function PrepareReflectorXML() {
|
||||
$this->ReflectorXML = '
|
||||
<reflector>
|
||||
@@ -421,28 +421,28 @@ class xReflector {
|
||||
<reflectorversion>'.$this->Version.'</reflectorversion>
|
||||
</reflector>';
|
||||
}
|
||||
|
||||
|
||||
public function CallHome() {
|
||||
$xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<query>CallingHome</query>'.$this->ReflectorXML.$this->InterlinkXML;
|
||||
$p = @stream_context_create(array('http' => array('header' => "Content-type: application/x-www-form-urlencoded\r\n",
|
||||
'method' => 'POST',
|
||||
'method' => 'POST',
|
||||
'content' => http_build_query(array('xml' => $xml)) )));
|
||||
$result = @file_get_contents($this->CallingHomeServerURL, false, $p);
|
||||
if ($result === false) {
|
||||
die("CONNECTION FAILED!");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function InterlinkCount() {
|
||||
return count($this->Interlinks);
|
||||
}
|
||||
|
||||
|
||||
public function GetInterlink($Index) {
|
||||
if (isset($this->Interlinks[$Index])) return $this->Interlinks[$Index];
|
||||
return array();
|
||||
}
|
||||
|
||||
|
||||
public function IsInterlinked($Reflectorname) {
|
||||
$i = -1;
|
||||
$f = false;
|
||||
@@ -457,7 +457,7 @@ class xReflector {
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
+24
-18
@@ -143,30 +143,36 @@ void CCodecStream::Task(void)
|
||||
{
|
||||
// pop the original packet
|
||||
auto Packet = m_LocalQueue.Pop();
|
||||
auto Frame = (CDvFramePacket *)Packet.get();
|
||||
auto Frame = static_cast<CDvFramePacket *>(Packet.get());
|
||||
|
||||
// do things look okay?
|
||||
if (pack.module != m_CSModule)
|
||||
std::cerr << "CodecStream '" << m_CSModule << "' received a transcoded packet from module '" << pack.module << "'" << std::dec << std::noshowbase << std::endl;
|
||||
if (pack.sequence != Frame->GetCodecPacket()->sequence)
|
||||
std::cerr << "Sequence mismatch: this voice frame=" << Frame->GetCodecPacket()->sequence << " returned transcoder packet=" << pack.sequence << std::endl;
|
||||
if (pack.streamid != Frame->GetCodecPacket()->streamid)
|
||||
std::cerr << std::hex << std::showbase << "StreamID mismatch: this voice frame=" << ntohs(Frame->GetCodecPacket()->streamid) << " returned transcoder packet=" << ntohs(pack.streamid) << std::dec << std::noshowbase << std::endl;
|
||||
|
||||
// update content with transcoded data
|
||||
Frame->SetCodecData(&pack);
|
||||
// mark the DStar sync frames if the source isn't dstar
|
||||
if (ECodecType::dstar!=Frame->GetCodecIn() && 0==Frame->GetPacketId()%21)
|
||||
// make sure this is the correct packet
|
||||
if ((pack.streamid == Frame->GetCodecPacket()->streamid) && (pack.sequence == Frame->GetCodecPacket()->sequence))
|
||||
{
|
||||
const uint8_t DStarSync[] = { 0x55, 0x2D, 0x16 };
|
||||
Frame->SetDvData(DStarSync);
|
||||
}
|
||||
// update content with transcoded data
|
||||
Frame->SetCodecData(&pack);
|
||||
// mark the DStar sync frames if the source isn't dstar
|
||||
if (ECodecType::dstar!=Frame->GetCodecIn() && 0==Frame->GetPacketId()%21)
|
||||
{
|
||||
const uint8_t DStarSync[] = { 0x55, 0x2D, 0x16 };
|
||||
Frame->SetDvData(DStarSync);
|
||||
}
|
||||
|
||||
// and push it back to client
|
||||
m_PacketStream->ReturnPacket(std::move(Packet));
|
||||
// and push it back to client
|
||||
m_PacketStream->ReturnPacket(std::move(Packet));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Not the correct packet! It will be ignored
|
||||
// Report it
|
||||
if (pack.streamid != Frame->GetCodecPacket()->streamid)
|
||||
std::cerr << std::hex << std::showbase << "StreamID mismatch: this voice frame=" << ntohs(Frame->GetCodecPacket()->streamid) << " returned transcoder packet=" << ntohs(pack.streamid) << std::dec << std::noshowbase << std::endl;
|
||||
if (pack.sequence != Frame->GetCodecPacket()->sequence)
|
||||
std::cerr << "Sequence mismatch: this voice frame=" << Frame->GetCodecPacket()->sequence << " returned transcoder packet=" << pack.sequence << std::endl;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Likewise, this packet will be ignored
|
||||
std::cout << "Transcoder packet received but CodecStream[" << m_CSModule << "] is closed: Module='" << pack.module << "' StreamID=" << std::hex << std::showbase << ntohs(pack.streamid) << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -90,17 +90,6 @@ CDvHeaderPacket::CDvHeaderPacket(const struct dstar_header *buffer, uint16_t sid
|
||||
m_uiFlag2 = buffer->Flag2;
|
||||
m_uiFlag3 = buffer->Flag3;
|
||||
m_csUR.SetCallsign(buffer->UR, CALLSIGN_LEN);
|
||||
|
||||
if((buffer->RPT1)[7] == 0x20){
|
||||
char rptr1[8];
|
||||
memcpy(rptr1, buffer->RPT1, 8);
|
||||
rptr1[7] = DPLUS_DEFAULT_RPTR1_SUFFIX;
|
||||
m_csRPT1.SetCallsign(rptr1, CALLSIGN_LEN);
|
||||
}
|
||||
else{
|
||||
m_csRPT1.SetCallsign(buffer->RPT1, CALLSIGN_LEN);
|
||||
}
|
||||
|
||||
m_csRPT1.SetCallsign(buffer->RPT1, CALLSIGN_LEN);
|
||||
m_csRPT2.SetCallsign(buffer->RPT2, CALLSIGN_LEN);
|
||||
m_csMY.SetCallsign(buffer->MY, CALLSIGN_LEN);
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ SJsonKeys g_Keys;
|
||||
CReflector g_Reflector;
|
||||
CGateKeeper g_GateKeeper;
|
||||
CConfigure g_Configure;
|
||||
CVersion g_Version(3,1,1); // The major byte should only change if the interlink packet changes!
|
||||
CVersion g_Version(3,1,2); // The major byte should only change if the interlink packet changes!
|
||||
CLookupDmr g_LDid;
|
||||
CLookupNxdn g_LNid;
|
||||
CLookupYsf g_LYtr;
|
||||
|
||||
@@ -60,7 +60,7 @@ bool CReflector::Start(void)
|
||||
#ifndef NO_DHT
|
||||
// start the dht instance
|
||||
refhash = dht::InfoHash::get(cs);
|
||||
node.run(17171, dht::crypto::generateIdentity(cs), true);
|
||||
node.run(17171, dht::crypto::generateIdentity(cs), true, 59973);
|
||||
node.bootstrap(g_Configure.GetString(g_Keys.names.bootstrap), "17171");
|
||||
#endif
|
||||
|
||||
@@ -595,7 +595,7 @@ void CReflector::PutDHTClients()
|
||||
#else
|
||||
[](bool success){ if (! success) std::cout << "PutDHTClients() unsuccessful" << std::endl; },
|
||||
#endif
|
||||
true // permanent!
|
||||
false // not permanent!
|
||||
);
|
||||
}
|
||||
|
||||
@@ -624,7 +624,7 @@ void CReflector::PutDHTUsers()
|
||||
#else
|
||||
[](bool success){ if (! success) std::cout << "PutDHTUsers() unsuccessful" << std::endl; },
|
||||
#endif
|
||||
true // permanent!
|
||||
false // not permanent
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user