Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | More work on better hash object fetching |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
4d5f84ca9e6573fb1a3c43f2f25bf56a |
| User & Date: | bernd 2020-05-19 21:18:16.457 |
Context
|
2020-05-21
| ||
| 09:02 | Flag for exception check-in: 1f47e4cfab user: bernd tags: trunk | |
|
2020-05-19
| ||
| 21:18 | More work on better hash object fetching check-in: 4d5f84ca9e user: bernd tags: trunk | |
| 11:07 | More work on fetching hashes (untested) check-in: bef65e85ed user: bernd tags: trunk | |
Changes
Changes to debugging.fs.
| ︙ | ︙ | |||
83 84 85 86 87 88 89 90 91 92 93 94 95 96 | debug: wallet( \ debug wallet stuff debug: qr( \ qr code stuff debug: deprecated( \ deprecated stuff debug: unhandled( \ unhandled commands debug: syncfile( \ synchronous file operations debug: newvault( \ new style vault keys debug: pks( \ fetch pks -db profile( \ don't profile by default ) +db ipv6( \ ipv6 should be on by default ) +db ipv4( \ ipv4 should be on by default ) -db ipv64( \ ipv6 over 4 -db xlat464( \ no xlat 464 by default -db newvault( \ new vault disabled for now ) | > | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | debug: wallet( \ debug wallet stuff debug: qr( \ qr code stuff debug: deprecated( \ deprecated stuff debug: unhandled( \ unhandled commands debug: syncfile( \ synchronous file operations debug: newvault( \ new style vault keys debug: pks( \ fetch pks debug: fetch( \ fetch hashed objects -db profile( \ don't profile by default ) +db ipv6( \ ipv6 should be on by default ) +db ipv4( \ ipv4 should be on by default ) -db ipv64( \ ipv6 over 4 -db xlat464( \ no xlat 464 by default -db newvault( \ new vault disabled for now ) |
| ︙ | ︙ |
Changes to msg.fs.
| ︙ | ︙ | |||
605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 |
I I' over - x-size +LOOP drop ;
:noname { 64^ perm d: pk -- }
perm [ 1 64s ]L pk msg-group-o .msg:perms# #!
pk .key-id ." : " perm 64@ 64>n .perms space
; msg-class is msg:perms
event: :>hash-finished { d: hash -- }
hash fetch# #@ IF cell+ .fetcher:got-it ELSE drop THEN
hash fetch-finish# #@ dup IF
bounds U+DO
I @ >r hash r@ execute r> >addr free throw
cell +LOOP
last# bucket-off
ELSE 2drop THEN
hash >ihave hash drop free throw ;
: fetch-hashs ( addr u tsk pk$ -- )
{ tsk pk$ | hashs }
bounds U+DO
net2o-code expect+slurp $10 blocksize! $A blockalign!
I' I U+DO
false I keysize have# $@ dup IF
bounds U+DO
I $@ pk$ $@ str= or
cell +LOOP
ELSE 2drop THEN
IF
| > > > > > > > > > > | < < < | 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 |
I I' over - x-size +LOOP drop ;
:noname { 64^ perm d: pk -- }
perm [ 1 64s ]L pk msg-group-o .msg:perms# #!
pk .key-id ." : " perm 64@ 64>n .perms space
; msg-class is msg:perms
event: :>hash-finished { d: hash -- }
fetch( ." finished " 2dup 85type forth:cr )
hash fetch# #@ IF cell+ .fetcher:got-it ELSE drop THEN
hash fetch-finish# #@ dup IF
bounds U+DO
I @ >r hash r@ execute r> >addr free throw
cell +LOOP
last# bucket-off
ELSE 2drop THEN
hash >ihave hash drop free throw ;
: fetch-hash ( hashaddr u tsk -- )
>r save-mem
fetch( ." fetching " 2dup 85type forth:cr )
2dup fetch# #@ IF cell+ .fetcher:fetch ELSE drop THEN
2dup net2o:copy#
r> [{: d: hash tsk :}h <event hash e$, :>hash-finished tsk event> ;]
lastfile@ >o to file-xt o> ;
: fetch-hashs ( addr u tsk pk$ -- )
{ tsk pk$ | hashs }
fetch( ." fetch from " pk$ $@ .@host.id forth:cr )
bounds U+DO
net2o-code expect+slurp $10 blocksize! $A blockalign!
I' I U+DO
false I keysize have# $@ dup IF
bounds U+DO
I $@ pk$ $@ str= or
cell +LOOP
ELSE 2drop THEN
IF
I keysize tsk fetch-hash
1 +to hashs
THEN
hashs $10 u>= ?LEAVE
keysize +LOOP
end-code| net2o:close-all
keysize hashs * 0 to hashs +LOOP ;
|
| ︙ | ︙ |