SDK: обзор
KnotRoute можно встроить в приложение, чтобы пользователю не требовался отдельно установленный desktop/mobile client.
Варианты интеграции
Заголовок раздела «Варианты интеграции»pkg/knotclient— приложение само становится KnotRoute client;pkg/knotserver— приложение публикует in-process service;mobile/knotmobile— gomobile-friendly wrapper для Android AAR;pkg/knotapp— application primitives;pkg/knotmailbox— encrypted store-and-forward mailbox primitive.
Когда нужен embedded client
Заголовок раздела «Когда нужен embedded client»Подходит для messenger, admin app, sync client, game client, IoT controller или любого продукта, где .knot должен быть внутренней транспортной функцией.
Пользователь запускает одно приложение, а не цепочку app → local proxy → отдельно установленный KnotRoute.
Когда лучше proxy
Заголовок раздела «Когда лучше proxy»Если приложение уже поддерживает SOCKS5/HTTP proxy и не хочется связывать lifecycle с KnotRoute core, standalone node проще сопровождать.
Lifecycle
Заголовок раздела «Lifecycle»Embedded integration должна явно управлять:
New → Start(ctx) → Dial/HTTP → CloseНе создавайте новый KnotRoute node для каждого HTTP request.
Storage
Заголовок раздела «Storage»Даже embedded client имеет identity/cache/config state. Решите, нужен ли stable client identity или ephemeral mode подходит вашему приложению.
Security boundary
Заголовок раздела «Security boundary»Не экспортируйте KnotRoute private identities в analytics/crash reports. Если приложение использует собственную user identity, не смешивайте её автоматически с KnotRoute node identity без явной модели приватности.