8
8
import os
9
9
from dataclasses import asdict
10
10
from urllib .parse import urlparse , urljoin
11
+ from types import MappingProxyType
11
12
12
13
import falcon
13
14
from falcon import media
@@ -289,6 +290,8 @@ def __init__(self, hby, rgy, agentHab, agency, caid, **opts):
289
290
self .agentHab = agentHab
290
291
self .agency = agency
291
292
self .caid = caid
293
+ self .cfd = MappingProxyType (dict (self .hby .cf .get ()) if self .hby .cf is not None else dict ())
294
+ self .tocks = MappingProxyType (self .cfd .get ("tocks" , {}))
292
295
293
296
self .swain = delegating .Anchorer (hby = hby , proxy = agentHab )
294
297
self .counselor = Counselor (hby = hby , swain = self .swain , proxy = agentHab )
@@ -364,19 +367,25 @@ def __init__(self, hby, rgy, agentHab, agency, caid, **opts):
364
367
local = True ) # disable misfit escrow until we can add another parser for remote.
365
368
366
369
doers .extend ([
367
- Initer (agentHab = agentHab , caid = caid ),
368
- Querier (hby = hby , agentHab = agentHab , kvy = self .kvy , queries = self .queries ),
370
+ Initer (agentHab = agentHab , caid = caid , tock = self .tocks .get ("initer" , 0.0 )),
371
+ Querier (hby = hby , agentHab = agentHab , kvy = self .kvy , queries = self .queries ,
372
+ tock = self .tocks .get ("querier" , 0.0 )),
369
373
Escrower (kvy = self .kvy , rgy = self .rgy , rvy = self .rvy , tvy = self .tvy , exc = self .exc , vry = self .verifier ,
370
- registrar = self .registrar , credentialer = self .credentialer ),
371
- ParserDoer (kvy = self .kvy , parser = self .parser ),
372
- Witnesser (receiptor = receiptor , witners = self .witners ),
373
- Delegator (agentHab = agentHab , swain = self .swain , anchors = self .anchors ),
374
- ExchangeSender (hby = hby , agentHab = agentHab , exc = self .exc , exchanges = self .exchanges ),
375
- Granter (hby = hby , rgy = rgy , agentHab = agentHab , exc = self .exc , grants = self .grants ),
376
- Admitter (hby = hby , witq = self .witq , psr = self .parser , agentHab = agentHab , exc = self .exc , admits = self .admits ),
377
- GroupRequester (hby = hby , agentHab = agentHab , counselor = self .counselor , groups = self .groups ),
378
- SeekerDoer (seeker = self .seeker , cues = self .verifier .cues ),
379
- ExchangeCueDoer (seeker = self .exnseeker , cues = self .exc .cues , queries = self .queries )
374
+ registrar = self .registrar , credentialer = self .credentialer , tock = self .tocks .get ("escrower" , 0.0 )),
375
+ ParserDoer (kvy = self .kvy , parser = self .parser , tock = self .tocks .get ("parser" , 0.0 )),
376
+ Witnesser (receiptor = receiptor , witners = self .witners , tock = self .tocks .get ("witnesser" , 0.0 )),
377
+ Delegator (agentHab = agentHab , swain = self .swain , anchors = self .anchors , tock = self .tocks .get ("delegator" , 0.0 )),
378
+ ExchangeSender (hby = hby , agentHab = agentHab , exc = self .exc , exchanges = self .exchanges ,
379
+ tock = self .tocks .get ("exchangeSender" , 0.0 )),
380
+ Granter (hby = hby , rgy = rgy , agentHab = agentHab , exc = self .exc , grants = self .grants ,
381
+ tock = self .tocks .get ("granter" , 0.0 )),
382
+ Admitter (hby = hby , witq = self .witq , psr = self .parser , agentHab = agentHab , exc = self .exc , admits = self .admits ,
383
+ tock = self .tocks .get ("admitter" , 0.0 )),
384
+ GroupRequester (hby = hby , agentHab = agentHab , counselor = self .counselor , groups = self .groups ,
385
+ tock = self .tocks .get ("groupRequester" , 0.0 )),
386
+ SeekerDoer (seeker = self .seeker , cues = self .verifier .cues , tock = self .tocks .get ("seeker" , 0.0 )),
387
+ ExchangeCueDoer (seeker = self .exnseeker , cues = self .exc .cues , queries = self .queries ,
388
+ tock = self .tocks .get ("exchangecue" , 0.0 )),
380
389
])
381
390
382
391
super (Agent , self ).__init__ (doers = doers , always = True , ** opts )
@@ -412,10 +421,11 @@ def inceptExtern(self, pre, verfers, digers, **kwargs):
412
421
413
422
class ParserDoer (doing .Doer ):
414
423
415
- def __init__ (self , kvy , parser ):
424
+ def __init__ (self , kvy , parser , tock = 0.0 ):
416
425
self .kvy = kvy
417
426
self .parser = parser
418
- super (ParserDoer , self ).__init__ ()
427
+ self .tock = tock
428
+ super (ParserDoer , self ).__init__ (tock = self .tock )
419
429
420
430
def recur (self , tyme = None ):
421
431
if self .parser .ims :
@@ -426,10 +436,11 @@ def recur(self, tyme=None):
426
436
427
437
class Witnesser (doing .Doer ):
428
438
429
- def __init__ (self , receiptor , witners ):
439
+ def __init__ (self , receiptor , witners , tock = 0.0 ):
430
440
self .receiptor = receiptor
431
441
self .witners = witners
432
- super (Witnesser , self ).__init__ ()
442
+ self .tock = tock
443
+ super (Witnesser , self ).__init__ (tock = self .tock )
433
444
434
445
def recur (self , tyme = None ):
435
446
while True :
@@ -450,11 +461,12 @@ def recur(self, tyme=None):
450
461
451
462
class Delegator (doing .Doer ):
452
463
453
- def __init__ (self , agentHab , swain , anchors ):
464
+ def __init__ (self , agentHab , swain , anchors , tock = 0.0 ):
454
465
self .agentHab = agentHab
455
466
self .swain = swain
456
467
self .anchors = anchors
457
- super (Delegator , self ).__init__ ()
468
+ self .tock = tock
469
+ super (Delegator , self ).__init__ (tock = self .tock )
458
470
459
471
def recur (self , tyme = None ):
460
472
if self .anchors :
@@ -467,12 +479,13 @@ def recur(self, tyme=None):
467
479
468
480
class ExchangeSender (doing .DoDoer ):
469
481
470
- def __init__ (self , hby , agentHab , exc , exchanges ):
482
+ def __init__ (self , hby , agentHab , exc , exchanges , tock = 0.0 ):
471
483
self .hby = hby
472
484
self .agentHab = agentHab
473
485
self .exc = exc
474
486
self .exchanges = exchanges
475
- super (ExchangeSender , self ).__init__ (always = True )
487
+ self .tock = tock
488
+ super (ExchangeSender , self ).__init__ (always = True , tock = self .tock )
476
489
477
490
def recur (self , tyme , deeds = None ):
478
491
if self .exchanges :
@@ -507,13 +520,14 @@ def recur(self, tyme, deeds=None):
507
520
508
521
class Granter (doing .DoDoer ):
509
522
510
- def __init__ (self , hby , rgy , agentHab , exc , grants ):
523
+ def __init__ (self , hby , rgy , agentHab , exc , grants , tock = 0.0 ):
511
524
self .hby = hby
512
525
self .rgy = rgy
513
526
self .agentHab = agentHab
514
527
self .exc = exc
515
528
self .grants = grants
516
- super (Granter , self ).__init__ (always = True )
529
+ self .tock = tock
530
+ super (Granter , self ).__init__ (always = True , tock = self .tock )
517
531
518
532
def recur (self , tyme , deeds = None ):
519
533
if self .grants :
@@ -553,14 +567,15 @@ def recur(self, tyme, deeds=None):
553
567
554
568
class Admitter (doing .Doer ):
555
569
556
- def __init__ (self , hby , witq , psr , agentHab , exc , admits ):
570
+ def __init__ (self , hby , witq , psr , agentHab , exc , admits , tock = 0.0 ):
557
571
self .hby = hby
558
572
self .agentHab = agentHab
559
573
self .witq = witq
560
574
self .psr = psr
561
575
self .exc = exc
562
576
self .admits = admits
563
- super (Admitter , self ).__init__ ()
577
+ self .tock = tock
578
+ super (Admitter , self ).__init__ (tock = self .tock )
564
579
565
580
def recur (self , tyme ):
566
581
if self .admits :
@@ -600,11 +615,11 @@ def recur(self, tyme):
600
615
601
616
class SeekerDoer (doing .Doer ):
602
617
603
- def __init__ (self , seeker , cues ):
618
+ def __init__ (self , seeker , cues , tock = 0.0 ):
604
619
self .seeker = seeker
605
620
self .cues = cues
606
-
607
- super (SeekerDoer , self ).__init__ ()
621
+ self . tock = tock
622
+ super (SeekerDoer , self ).__init__ (tock = self . tock )
608
623
609
624
def recur (self , tyme = None ):
610
625
if self .cues :
@@ -623,12 +638,12 @@ def recur(self, tyme=None):
623
638
624
639
class ExchangeCueDoer (doing .Doer ):
625
640
626
- def __init__ (self , seeker , cues , queries ):
641
+ def __init__ (self , seeker , cues , queries , tock = 0.0 ):
627
642
self .seeker = seeker
628
643
self .cues = cues
629
644
self .queries = queries
630
-
631
- super (ExchangeCueDoer , self ).__init__ ()
645
+ self . tock = tock
646
+ super (ExchangeCueDoer , self ).__init__ (tock = self . tock )
632
647
633
648
def recur (self , tyme = None ):
634
649
if self .cues :
@@ -649,10 +664,11 @@ def recur(self, tyme=None):
649
664
650
665
651
666
class Initer (doing .Doer ):
652
- def __init__ (self , agentHab , caid ):
667
+ def __init__ (self , agentHab , caid , tock = 0.0 ):
653
668
self .agentHab = agentHab
654
669
self .caid = caid
655
- super (Initer , self ).__init__ ()
670
+ self .tock = tock
671
+ super (Initer , self ).__init__ (tock = self .tock )
656
672
657
673
def recur (self , tyme ):
658
674
""" Prints Agent name and prefix """
@@ -665,13 +681,13 @@ def recur(self, tyme):
665
681
666
682
class GroupRequester (doing .Doer ):
667
683
668
- def __init__ (self , hby , agentHab , counselor , groups ):
684
+ def __init__ (self , hby , agentHab , counselor , groups , tock = 0.0 ):
669
685
self .hby = hby
670
686
self .agentHab = agentHab
671
687
self .counselor = counselor
672
688
self .groups = groups
673
-
674
- super (GroupRequester , self ).__init__ ()
689
+ self . tock = tock
690
+ super (GroupRequester , self ).__init__ (tock = self . tock )
675
691
676
692
def recur (self , tyme ):
677
693
""" Checks cue for group proceccing requests and processes any with Counselor """
@@ -691,13 +707,13 @@ def recur(self, tyme):
691
707
692
708
class Querier (doing .DoDoer ):
693
709
694
- def __init__ (self , hby , agentHab , queries , kvy ):
710
+ def __init__ (self , hby , agentHab , queries , kvy , tock = 0.0 ):
695
711
self .hby = hby
696
712
self .agentHab = agentHab
697
713
self .queries = queries
698
714
self .kvy = kvy
699
-
700
- super (Querier , self ).__init__ (always = True )
715
+ self . tock = tock
716
+ super (Querier , self ).__init__ (always = True , tock = self . tock )
701
717
702
718
def recur (self , tyme , deeds = None ):
703
719
""" Processes query reqests submitting any on the cue"""
@@ -724,7 +740,7 @@ def recur(self, tyme, deeds=None):
724
740
725
741
726
742
class Escrower (doing .Doer ):
727
- def __init__ (self , kvy , rgy , rvy , tvy , exc , vry , registrar , credentialer ):
743
+ def __init__ (self , kvy , rgy , rvy , tvy , exc , vry , registrar , credentialer , tock = 0.0 ):
728
744
""" Recuring process or escrows for all components in an Agent
729
745
730
746
Parameters:
@@ -745,7 +761,7 @@ def __init__(self, kvy, rgy, rvy, tvy, exc, vry, registrar, credentialer):
745
761
self .vry = vry
746
762
self .registrar = registrar
747
763
self .credentialer = credentialer
748
- self .tock = 1.0
764
+ self .tock = tock
749
765
750
766
super (Escrower , self ).__init__ (tock = self .tock )
751
767
0 commit comments