definition.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #pragma once
  2. namespace sunrise::core::settings::server::activation {
  3. /**
  4. * Gates for the default client-activation work, one per bounded domain.
  5. * Each domain finishes on its own, so partial work in one cannot make another read as ready.
  6. * With every gate off the host sends the same bytes it did before the domain existed.
  7. */
  8. struct Settings {
  9. /**
  10. * The activation coordinator: the transition policy the host applies to a client request to
  11. * start a different activity. Off, such a request is framed and recorded and answered with
  12. * nothing.
  13. */
  14. bool defaultClientActivation{true};
  15. /**
  16. * Bounded receipt, mirror, and response handling for the activity compatibility traffic.
  17. * Off, an activity message that changes no state is framed and reported but not recorded, so
  18. * the arrival registry stays empty.
  19. */
  20. bool activityCompatibilityMirror{true};
  21. /**
  22. * The external common and channel wrapper on the gameplay packet.
  23. * TODO: nothing reads this gate. The codec and receive shadow exist; the packet-outcome
  24. * binding does not. Wire it to the established writer, not before.
  25. */
  26. bool gameplayExternalBody{false};
  27. /**
  28. * One allowlisted server-owned default entity.
  29. * TODO: nothing reads this gate. The allocator and channel-2 codec exist offline; a visible
  30. * class chain and a live outcome path do not. Wire it with those, not before.
  31. */
  32. bool serverDefaultEntity{false};
  33. /**
  34. * The physics-host bridge: one world opened, ticked and closed per admitted gameplay peer.
  35. * Off by default because the bridge runs on the game's own render thread, so its cost is a
  36. * frame stall. It produces no wire output either way.
  37. */
  38. bool physicsHostSession{false};
  39. /**
  40. * Membership on a public-target link, so the client binds a world container to it.
  41. * Off by default. Sending it hands the client's player create and destroy source to that
  42. * link's membership block, and a body that does not carry the local player destroys it.
  43. */
  44. bool activityPublicMembership{false};
  45. };
  46. } // namespace sunrise::core::settings::server::activation