[squeak-dev] ESqueak planning notes

rabbit rabbit at callistohouse.org
Sun Oct 16 19:26:26 UTC 2022


———- ASN1Tags: ParrotTalk & Remote Promises ———-
 * includes message support for bridge selection, if requested.
 * all msgs changing numericTags and using a Context classTag of 2r11. Updated the stateMaps.
 * Were able to fit all ASN1Types in 32 bit values: 0-31.
 * ASN1Tag has:
 - classTag := 2r11.
 - is Constructed := 0.
 - numericTag: headerType <?>.
fullTag := (((classTag bitAnd: 3) << 6) 
    bitOr: ((isConstructed bitAnd: 1) << 5))
        bitOr: (numericTag bitAnd: 2r11111).

Layer 5: Parrot – session v3.6, v3.7, v3.8

Protocol negotiation
<0> ProtocolOffered
<1> ProtocolAccepted

Common
<2> RawData
<3> Encrypted
<4> Encoded
<5> MAC
<6> DuplicateConnection
<7> NotMe

—- ParrotTalk v3.6 —-
<8> IWant
<9> IAm
<10> GiveInfo
<11> ReplyInfo
<12> Go
<13> GoToo

—- ParrotTalk v3.7 —-
<14> Hello_v3_7
<15> Response_v3_7
<16> Signature_v3_7

—- ParrotTalk v3.8 —-
<17> Hello_v3_8
<18> Response_v3_8
<19> Signature_v3_8
<20> BridgeProvideFor_v3_8
<21> BridgeAcceptFrom_v3_8

Layer 6: Remote Promises
22-26 (EventualMessages)

<22> DeliverMessageOp
<23> DeliverOnlyMessageOp
<24> GCAnswerOp
<25> GCExportOp
<26> ShutdownOp

27-31 (EventualDesc) 
 - wireRefDescriptions
… … … … …


———- v3.8 Message Details ———-
—- ParrotTalk v3.8 —-
<18> Hello_v3_8
 - UserName
 - UserID
 - ServiceName
 - VatId
 - Domain
 - Public key
 - CryptoProtocols
 - DataEncoders
 - DiffieHellmanParamenter
 - BridgeSuggestions
<19> Response_v3_8
 - UserName
 - UserID
 - ServiceName
 - VatId
 - Domain
 - Public key
 - SelectedCryptoProtocol
 - SelectedDataEncoder
 - DiffieHellmanParamenter
 - Signature
 - BridgeSelections
<20> Signature_v3_8
 - Signature
 - BridgeNonces
<21> BridgeProvideFor_v3_8
 - nonce
<22> BridgeAcceptFrom_v3_8
 - nonce

—
Have a good one; keep it, light.
Kindly, langohr . .. … ‘…^,^ 🐇🐇🐇

Sent from Callisto House Mobile - Europa 
:: decentralized mobile homeless solutions ::

> On Oct 16, 2022, at 13:44, rabbit <rabbit at callistohouse.org> wrote:
> 
> ———- Focus ———-
> 
> To maintain a good focus, once remote promises are #green, I’ll want to stay with networking and make my trinity of replicated Services each Service instance with a trinity replicated session to three bridge sessions. This is my grande trinity-of-trinities plan for fault-tolerant communications. Wires are plentiful!
> 
> Have a user manager where v3.8 will lookup a Hello msg’z userID with a default no-op TSUserBroker. Later install the ENamingService.
> 
> In Hello, Alice supplies suggested bridges, to limit open FDs.
> 
> In Response msg the contacted, Bob, supplies 3 selected bridge services.
> 
> Contactee, Alice, who initiated with Hello, receives Response. Alice generates and provides a bridgeNonce for each bridge, registers it’s #acceptFrom: nonce with each bridge, and sends the nonces back in the Signature final message, same order.
> 
> Bob received Signature. If sig checks out, Bob send #provideFor:nonce to each apropos bridge, to rendezvous a triple replicated session.  Both Alice and Bob controls the number of bridge socket FD used.
> 
> ParrotTalk has replicated Sessions (tripleSession).
> RemotePromises have replicated Services (tripleService).
> 
> A tripleSession has 3 FDs open. A tripleService May reuse Bridge connections, thus though connected to service instances on 3 different machines, reusing existing bridges may mean still only 3 FDs open.
> 
> With Sessions, Bob chooses bridges, Alice chooses nonces. Likewise, with replicated Services, Service.1 offers pair of additional replica Services, each supplying bridges. Establish tripleService, fully online... 
> 
> <image0.jpeg>
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20221016/f358b18c/attachment.html>


More information about the Squeak-dev mailing list