Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Forward state what you have |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
45aec71ad2328f2da98929db4ea00f83 |
| User & Date: | bernd 2020-03-04 22:44:17.933 |
Context
|
2020-03-05
| ||
| 14:42 | Factoring out >fetch-queue check-in: 86856020fd user: bernd tags: trunk | |
|
2020-03-04
| ||
| 22:44 | Forward state what you have check-in: 45aec71ad2 user: bernd tags: trunk | |
|
2020-02-27
| ||
| 12:26 | Bump version number check-in: 4ecf9f79f5 user: bernd tags: trunk, 0.9.7-20200227 | |
Changes
Changes to msg.fs.
| ︙ | ︙ | |||
315 316 317 318 319 320 321 | Forward msg:last? Forward msg:last Forward msg:want hash: fetch-finish# Variable fetch-queue[] | | > > > > > > > > | | 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 |
Forward msg:last?
Forward msg:last
Forward msg:want
hash: fetch-finish#
Variable fetch-queue[]
hash: have# \ list of owner ids per hash
hash: have-group# \ list of interested groups per hash
: .@host.id ( pk+host u -- )
'@' emit
2dup keysize2 safe/string type '.' emit
key2| .simple-id ;
: .ihaves ( -- )
." ====== hash owend by ======" cr
have# [: dup $@ 85type ." :"
cell+ $@ bounds U+DO
space I $@ .@host.id
cell +LOOP cr ;] #map ;
: >send-have ( addr u -- )
have-group# #@ dup IF
bounds ?DO
I @ to msg-group-o 0 .avalanche-msg
cell +LOOP
THEN ;
: msg:ihave ( id u1 hash u2 -- )
\ ." ihave:" 2over dump 2dup dump
2dup ihave$ $+! 2over mehave$ $!
bounds U+DO 2dup I keysize have# #!ins[] keysize +LOOP 2drop ;
: pk.host ( -- addr u ) [: pk@ type host$ $. ;] $tmp ;
: >ihave ( hash u -- )
pk.host 2over msg:ihave >send-have ;
: push-msg ( o:parent -- )
up@ receiver-task <> IF
avalanche-msg
ELSE wait-task @ ?dup-IF
<event >r o elit, msg-group-o elit,
:>avalanche r> event>
|
| ︙ | ︙ | |||
635 636 637 638 639 640 641 642 |
event: :>queued ( queue -- )
[: 0 fetch-queue[] !@ queue? off ;] resize-sema c-section
transmit-queue ;
: enqueue ( -- )
-1 queue? !@ 0= IF <event :>queued up@ event> THEN ;
forward need-hashed?
: ?fetch ( addr u -- )
| > > > > > > > > | | 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 |
event: :>queued ( queue -- )
[: 0 fetch-queue[] !@ queue? off ;] resize-sema c-section
transmit-queue ;
: enqueue ( -- )
-1 queue? !@ 0= IF <event :>queued up@ event> THEN ;
forward need-hashed?
: >have-group ( addr u -- )
msg-group-o { w^ grp }
2dup have-group# #@ nip IF
grp last# cell+ +unique$
ELSE
grp cell 2swap have-group# #!
THEN ;
: ?fetch ( addr u -- )
key| 2dup >have-group
2dup need-hashed? IF
fetch-queue[] ['] $ins[] resize-sema c-section drop
ELSE 2drop THEN ;
: .posting ( addr u -- )
2dup keysize /string
2dup printable? IF '[' emit type '@' emit
ELSE ." #[" 85type ." /@" THEN
|
| ︙ | ︙ |