Cobalt Startup sequence:
- starts in CobaltBrowser >> setup
- calls CobaltBrowser >> startInitialWorld
- reaches CobaltHarness >> createLocalIsland:named:
- CobaltRouterConfig >> startDispatcher
- CobaltHarness >> startRouterFor:named:
- CobaltController >> connectTo:port:sessionID:
- open a TCP connection to the dispatcher on localhost and send the sessionID to connect to the router [TMessageRelay >> connectTo:port:sessionID:]
- Send a routerInfo datagram, recieve a routerInfoFrom datagram [CobaltController >> requestRouterInfo]
========= External contact info is now known =========
- CobaltHarness >> addController:
- CobaltController >> login:password:
- Send a login datagram of authService CoLocalSecretTestAuthService
- Receive a challenge datagram of authService CoLocalSecretTestAuthService
- Send a list datagram
- Receive a recvFacets datagram
- join
- send join, receive joinFrom
- heartbeat: 20
- send heartbeat, receive ticks
- beServer
- send beServer, receive serve datagrams in the future
- CobaltController >> newIsland
- set id/name of island to the same as the router
- Within the island, do CobaltWorld class >> new
- This sets up the ugly grey space with a portal in it
- starts up a contact point for the island
- What is a contact point? some kind of network service. maybe it's the local network service discovery thing. Don't know though
- From TBuildDualWorldConfig >> startInitialIn:morph:
- build another island repeating all the same steps above (same dispatcher, new router, new island, new space (CobaltWorldIntro, the green space), new contact point
- link the two portals in the two spaces together
|
|