Check-in [30ad4bfacf]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Insert haves+sigs
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 30ad4bfacf2499e0980fb4857629dc131de7227e
User & Date: bernd 2020-07-29 20:43:37
Context
2020-07-31
21:26
Add silent tag for messages check-in: 5f3731e820 user: bernd tags: trunk
2020-07-29
20:43
Insert haves+sigs check-in: 30ad4bfacf user: bernd tags: trunk
2020-07-28
21:19
Install n2o-completion.sh check-in: 21c66096d7 user: bernd tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to classes.fs.

140
141
142
143
144
145
146

147
148
149
150
151
152
153
154
    $value: name$ \ group name
    $value: id$   \ id of current message
    $value: msg$  \ decrypted message
    64value: timestamp \ timestamp of message
    field: peers[]
    field: keys[]
    field: log[]

    field: haves[] \ hashs+devices+sig sorted by date
    field: pks#
    field: perms# \ pk -> permission map
    field: mode
    \ mode bits:
    1 3 bits: otr# lock# visible#
    : bit-ops: ( bit -- )
        parse-name [{: d: name :}l name rot [: emit type ;] $tmp nextname ;]







>
|







140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
    $value: name$ \ group name
    $value: id$   \ id of current message
    $value: msg$  \ decrypted message
    64value: timestamp \ timestamp of message
    field: peers[]
    field: keys[]
    field: log[]
    field: sigs[]  \ sigs sorte by date
    field: haves[] \ corresponding hashs
    field: pks#
    field: perms# \ pk -> permission map
    field: mode
    \ mode bits:
    1 3 bits: otr# lock# visible#
    : bit-ops: ( bit -- )
        parse-name [{: d: name :}l name rot [: emit type ;] $tmp nextname ;]

Changes to msg.fs.

163
164
165
166
167
168
169





170
171
172
173
174
175
176
2Variable last-msg

: +msg-log ( addr u -- addr' u' / 0 0 )
    [: msg-group-o .msg:log[] $ins[]date  dup  dup 0< xor to log#
	log# msg-group-o .msg:log[] $[]@ last-msg 2!
	0< IF  #0.  ELSE  last-msg 2@  THEN
    ;] msglog-sema c-section ;





: ?save-msg ( -- )
    msg( ." saving messages in group " msg-group-o dup hex. .msg:name$ type cr )
    msg-group-o .msg:?otr replay-mode @ or 0= IF  save-msgs&  THEN ;

Sema queue-sema

\ peer queue, in msg context







>
>
>
>
>







163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
2Variable last-msg

: +msg-log ( addr u -- addr' u' / 0 0 )
    [: msg-group-o .msg:log[] $ins[]date  dup  dup 0< xor to log#
	log# msg-group-o .msg:log[] $[]@ last-msg 2!
	0< IF  #0.  ELSE  last-msg 2@  THEN
    ;] msglog-sema c-section ;
: +msg-sighash ( addrhash u1 addrsig u2 -- )
    [: msg-group-o >o msg:sigs[] $ins[]date dup >r 0>= IF
	    $make { w^ hash }
	    hash cell msg:haves[] r@ cells $ins
	THEN  rdrop o> ;] msglog-sema c-section ;
: ?save-msg ( -- )
    msg( ." saving messages in group " msg-group-o dup hex. .msg:name$ type cr )
    msg-group-o .msg:?otr replay-mode @ or 0= IF  save-msgs&  THEN ;

Sema queue-sema

\ peer queue, in msg context