Documentation‎ > ‎Developer Resources‎ > ‎Connecting‎ > ‎

Cobalt Startup

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