Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
7f3c6a9
use uuid1 instead of uuid4 so that memos are lexocographic in time
SmithSamuelM Jan 5, 2026
470b378
clean up doc strings and comments in Memoer
SmithSamuelM Jan 5, 2026
4777a83
some clean up review and doc string clarification
SmithSamuelM Jan 6, 2026
4261af3
some cleanup
SmithSamuelM Jan 8, 2026
81a400b
normalized udp and uxd interfaces
SmithSamuelM Jan 8, 2026
e2f8a3f
now udp supports peermemo functionality
SmithSamuelM Jan 8, 2026
7d0e4ff
made peermemoer udp a subclass of TymeeMemoer
SmithSamuelM Jan 9, 2026
68fc5f2
some cleanup of tyme handling in tymememoer
SmithSamuelM Jan 9, 2026
489b925
Some refactor to set up for safe peer memoing
SmithSamuelM Jan 9, 2026
0d6db6c
refactor to SureMemoer class for reliable delivery services over unre…
SmithSamuelM Jan 9, 2026
7f0918b
added .echoic property to Memoer to facilitate easier setup in testin…
SmithSamuelM Jan 10, 2026
54d745b
more unit tests to test serviceAll with signed multiple
SmithSamuelM Jan 10, 2026
b135e96
added .keep property to Memoer for lightweight key managment for testing
SmithSamuelM Jan 11, 2026
280d287
added .vid property so has own default vid for signing on tx
SmithSamuelM Jan 11, 2026
00dd7bb
started to add support for simple key management for signed memos
SmithSamuelM Jan 11, 2026
a06dc6a
added _setupKeep utility to test Memoing with key management
SmithSamuelM Jan 11, 2026
49c22b1
updated doc strings and max memo size
SmithSamuelM Jan 16, 2026
fd28128
utility classmethod ot create CESR compatible enoded vid. test utili…
SmithSamuelM Jan 16, 2026
18d5046
more support for signing of memo grams
SmithSamuelM Jan 18, 2026
d38f8ca
refactor keep setup so that verkey and sigseed are CESR equiv fully q…
SmithSamuelM Jan 18, 2026
470f729
refactor Sizage to us field names less likely to conflict or confuse …
SmithSamuelM Jan 18, 2026
ac4d56b
refactored Memoer to use oid not vid for origin id (instead of verifi…
SmithSamuelM Jan 18, 2026
b5dbc49
preliminary work to support actual signing of memo grams
SmithSamuelM Jan 18, 2026
87a9a70
fixed deprecated utcnow()
SmithSamuelM Jan 21, 2026
6555e29
added more sleep to fix github test runner
SmithSamuelM Jan 21, 2026
603d10b
added more sleep delay to udp tests since failing on github runner
SmithSamuelM Jan 21, 2026
f77c492
more adjustment to udp tests to pass on github
SmithSamuelM Jan 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/hio/base/multidoing.py
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,7 @@ def serviceRxMemos(self):
Override in subclass to handle result(s) and put them somewhere
"""
while self.rxms:
memo, src, vid = self._serviceOneRxMemo()
memo, src, oid = self._serviceOneRxMemo()
self.logger.debug("Boss Peer RX: name=%s rx from src=%s memo=%s.",
self.name, src, memo)

Expand Down Expand Up @@ -797,7 +797,7 @@ def serviceRxMemos(self):
Override in subclass to handle result(s) and put them somewhere
"""
while self.rxms:
memo, src, vid = self._serviceOneRxMemo()
memo, src, oid = self._serviceOneRxMemo()
self.logger.debug("Hand Peer RX: name=%s rx from src=%s memo=%s.",
self.name, src, memo)

Expand Down
26 changes: 14 additions & 12 deletions src/hio/base/tyming.py
Original file line number Diff line number Diff line change
Expand Up @@ -104,14 +104,16 @@ class Tymee(hioing.Mixin):
Tymee has .tyme property that returns the artificial or simulated or cycle time
from its referenced Tymist instance ._tymist.

Class Attributes:

Attributes:

Properties:
.tyme (float | None): relative cycle time of associated Tymist which is
tyme (float | None): relative cycle time of associated Tymist which is
provided by calling .tymth function wrapper closure which is obtained
from Tymist.tymen().
None means not assigned yet.
.tymth (Callable | None): function wrapper closure returned by
tymth (Callable | None): function wrapper closure returned by
Tymist.tymen() method. When .tymth is called it returns associated
Tymist.tyme. Provides injected dependency on Tymist cycle tyme base.
None means not assigned yet.
Expand All @@ -120,7 +122,7 @@ class Tymee(hioing.Mixin):
.wind injects ._tymth dependency from associated Tymist to get its .tyme

Hidden:
._tymth is injected function wrapper closure returned by .tymen() of
_tymth is injected function wrapper closure returned by .tymen() of
associated Tymist instance that returns Tymist .tyme. when called.

"""
Expand Down Expand Up @@ -184,17 +186,17 @@ class Tymer(Tymee):
Attributes:

Inherited Properties:
.tyme is float relative cycle time of associated Tymist .tyme obtained
tyme is float relative cycle time of associated Tymist .tyme obtained
via injected .tymth function wrapper closure.
.tymth is function wrapper closure returned by Tymist .tymeth() method.
tymth is function wrapper closure returned by Tymist .tymeth() method.
When .tymth is called it returns associated Tymist .tyme.
.tymth provides injected dependency on Tymist tyme base.

Properties:
.duration = tyme duration of tymer in seconds from ._start to ._stop
.elaspsed = tyme elasped in seconds since ._start
.remaining = tyme remaining in seconds until ._stop
.expired = True if expired, False otherwise, i.e. .tyme >= ._stop
duration (float): tyme duration in seconds from ._start to ._stop
elaspsed (float): tyme elasped in seconds since ._start
remaining (float): tyme remaining in seconds until ._stop
expired (bool): True if expired, False otherwise, i.e. .tyme >= ._stop

Inherited Methods:
.wind is injects ._tymth dependency
Expand All @@ -204,10 +206,10 @@ class Tymer(Tymee):
.restart() = restart tymer at last ._stop so no time lost

Hidden:
._tymth is injected function wrapper closure returned by .tymen() of
_tymth (closure): injected function wrapper closure returned by .tymen() of
associated Tymist instance that returns Tymist .tyme. when called.
._start is start tyme in seconds
._stop is stop tyme in seconds
_start (float): start tyme in seconds
_stop (float): stop tyme in seconds

"""
Duration = 0.0 # default duration when not provided
Expand Down
4 changes: 2 additions & 2 deletions src/hio/core/coring.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ def arpCreate(ether, host, interface="en0", temp=True):
"""
temp = "temp" if temp else ""
console.terse("{0}: Creating {1} arp entry for {2} at {3} on {4}\n".format(
datetime.datetime.utcnow().isoformat(),
datetime.datetime.now(datetime.UTC).isoformat(),
temp,
ether,
host,
Expand All @@ -103,7 +103,7 @@ def arpCreate(ether, host, interface="en0", temp=True):
check=True)
except subprocess.SubprocessError as ex:
console.terse("{0}: Failed Creation of {1} arp entry for {2} at {3} on {4}\n".format(
datetime.datetime.utcnow().isoformat(),
datetime.datetime.now(datetime.UTC).isoformat(),
temp,
ether,
host,
Expand Down
2 changes: 1 addition & 1 deletion src/hio/core/http/httping.py
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ def httpDate1123(dt):

The supplied date must be in UTC.
import datetime
httpDate1123(datetime.datetime.utcnow())
httpDate1123(datetime.datetime.now(datetime.UTC))
'Wed, 30 Sep 2015 14:29:18 GMT'
"""
weekday = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"][dt.weekday()]
Expand Down
4 changes: 2 additions & 2 deletions src/hio/core/http/serving.py
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ def build(self):
self.headers[u'server'] = "Ioflo WSGI Server"

if u'date' not in self.headers: # create Date header
self.headers[u'date'] = httping.httpDate1123(datetime.datetime.utcnow())
self.headers[u'date'] = httping.httpDate1123(datetime.datetime.now(datetime.UTC))

if self.chunkable and ('transfer-encoding' not in self.headers or
self.headers['transfer-encoding'] == 'chunked'):
Expand Down Expand Up @@ -949,7 +949,7 @@ def build(self,
self.headers[u'server'] = "Ioflo Server"

if u'date' not in self.headers: # create Date header
self.headers[u'date'] = httping.httpDate1123(datetime.datetime.utcnow())
self.headers[u'date'] = httping.httpDate1123(datetime.datetime.now(datetime.UTC))

if self.data is not None:
body = json.dumps(self.data, separators=(',', ':')).encode("utf-8")
Expand Down
4 changes: 2 additions & 2 deletions src/hio/core/memo/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"""


from .memoing import (Versionage, Sizage, GramDex, SGDex,
from .memoing import (Versionage, Sizage, GramDex, SGDex, Keyage,
openMemoer, Memoer, MemoerDoer,
openTM, TymeeMemoer, TymeeMemoerDoer)
openSM, SureMemoer, SureMemoerDoer)

Loading