[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
|