Services Package¶
paglets.services defines service contracts, service registry records, service
handles, and resident service metadata.
Responsibilities¶
- Describe service operations with request/reply payload dataclasses.
- Validate service requests and replies against a contract.
- Encode service records for discovery and lookup.
- Manage resident service leases and lifecycle metadata.
Main Modules¶
paglets.services.contracts- Defines
ServiceContract,ServiceOperation,ServiceHandle,ServiceRecord,ServiceRegistry, and service-specific errors. paglets.services.resident- Defines
ResidentServiceSpec,ServiceLease, resident lifecycle defaults, and metadata keys used by host-managed services.
Implementation Notes¶
Service operations are message-backed. A service handle builds typed messages from a contract and sends them to the paglet that owns the service.
ServiceScope controls whether a service is local to one host or advertised
through the mesh. Resident services can be started lazily or eagerly from the
launch configuration.
API Reference¶
paglets.services.contracts
¶
EmptyPayload
dataclass
¶
ServiceContract
dataclass
¶
Typed service interface advertised through the service registry.
Source code in src/paglets/services/contracts.py
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | |
ServiceHandle
dataclass
¶
Resolved typed service client for one advertised service record.
Source code in src/paglets/services/contracts.py
ServiceOperation
dataclass
¶
Bases: Generic[ReqT, RepT]
Typed operation exposed by a service contract.
Source code in src/paglets/services/contracts.py
paglets.services.resident
¶
ResidentServiceSpec
dataclass
¶
Class-level declaration for a managed resident service.
Source code in src/paglets/services/resident.py
ServiceLease
dataclass
¶
TTL-backed lease that keeps a managed resident service active.
Source code in src/paglets/services/resident.py
Related Pages¶
- Core covers messages and service scope enums.
- Configuration covers resident services in launch config.
- Remote covers mesh-visible service lookup.