Transport Options¶
Verity is transport-agnostic. You can use SSE (default), WebSocket, GraphQL subscriptions, or build your own.
SSE (Default)¶
Pros: - Simple HTTP - Auto-reconnect built-in - Works through most proxies
Cons: - Unidirectional (server → client) - Best-effort delivery
WebSocket (Custom Adapter)¶
Pros: - Bidirectional - Lower latency
Cons: - More complex - Proxy issues
GraphQL Subscriptions (Custom Adapter)¶
Pros: - Leverages existing GraphQL infra - Type-safe subscriptions
Cons: - Requires GraphQL server
How to implement:
registry.configureDirectiveSource({
type: 'graphql-subscription',
connect: ({ applyDirectives, clientId }) => {
const subscription = gqlClient.subscribe({
query: DIRECTIVES_SUBSCRIPTION,
variables: { clientId }
})
subscription.on('data', ({ directives, source }) => {
if (source !== clientId) {
applyDirectives(directives)
}
})
return () => subscription.unsubscribe()
}
})
Next Steps¶
- Master Truth-State vs View-State distinction
- Learn the Directive Contract
- Understand Levels & Conversions
- Study Concurrency Model
- Follow Getting Started to implement this architecture