From 2c706a67d505bc83489c54f22fb473161c0f07e2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tom=C3=A1=C5=A1=20Brada?= Date: Tue, 15 Dec 2015 19:20:02 +0100 Subject: [PATCH] Add DHT id option and random id option. --- dht.pas | 13 ------------- dhtPersist.pas | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/dht.pas b/dht.pas index 1941f2a..0faa258 100644 --- a/dht.pas +++ b/dht.pas @@ -380,22 +380,9 @@ end; ping may get lost: separate bootstrap unit :) now jut Ass-U-Me wont get lost} -procedure LoadIDFromArgs; - var oi:word; - const opt='-id'; - begin - oi:=OptIndex(opt); - if oi>0 then begin - assert(OptParamCount(oi)=1,opt+'(pid:sha1)'); - writeln('DHT: set ID to '+paramstr(oi+1)); - MyID:=tPID(paramstr(oi+1)); - end; -end; - BEGIN SetMsgHandler(opcode.dhtRequest,@recvRequest); SetMsgHandler(opcode.dhtSelect,@recvSelect); SetMsgHandler(opcode.dhtReqAck,@recvReqAck); SetMsgHandler(opcode.dhtWazzup,@recvWazzup); - LoadIdFromArgs; END. \ No newline at end of file diff --git a/dhtPersist.pas b/dhtPersist.pas index 50d0d03..e68b896 100644 --- a/dhtPersist.pas +++ b/dhtPersist.pas @@ -73,6 +73,30 @@ procedure LoadID; close(nd); end; +procedure LoadIDFromArgs; + var oi:word; + const opt='-id'; + begin + oi:=OptIndex(opt); + if oi>0 then begin + assert(OptParamCount(oi)=1,opt+'(pid:sha1)'); + writeln('DHT: set ID to '+paramstr(oi+1)); + MyID:=tPID(paramstr(oi+1)); + end; +end; +procedure LoadIDRandom; + var oi:word; + const opt='-id-rnd'; + var b:byte; + begin + oi:=OptIndex(opt); + if oi>0 then begin + assert(OptParamCount(oi)=0,opt+'()'); + for b:=0 to 19 do MyID[b]:=Random(256); + writeln('DHT: set ID to ',string(MyID)); + end; +end; + type t=object pot:procedure; procedure Init; @@ -99,6 +123,8 @@ end; procedure t.Init; begin LoadID; + LoadIDFromArgs; + LoadIDRandom; Shedule(2000,@doSoon); Shedule(20000,@doPeriodic); { -- 2.11.4.GIT