* feat(watchsync): add plugin-backed providers * fix(watchsync): address plugin review findings * fix(watchsync): harden plugin provider failures * feat(watchsync): complete plugin provider contract * fix(watchsync): address provider review feedback * fix(watchsync): keep device state host-private * fix(watchsync): build reconciliation index concurrently * fix(watchsync): preserve empty device state updates * chore(deps): use released watch-sync SDK --------- Co-authored-by: Quick <31828688+Quick104@users.noreply.github.com>
35 lines
1.2 KiB
Go
35 lines
1.2 KiB
Go
package pluginhost
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/hashicorp/go-plugin"
|
|
|
|
sdkruntime "github.com/Silo-Server/silo-plugin-sdk/pkg/pluginsdk/runtime"
|
|
)
|
|
|
|
const (
|
|
DefaultHealthCheckInterval = 30 * time.Second
|
|
DefaultHealthFailureLimit = 3
|
|
DefaultMetadataTimeout = 30 * time.Second
|
|
DefaultMarkerProviderTimeout = 30 * time.Second
|
|
DefaultAnalyzerTimeout = 5 * time.Minute
|
|
DefaultControlTimeout = 10 * time.Second
|
|
// DefaultScanSourceTimeout covers a single PollChanges call. Most scan
|
|
// sources return quickly, but filesystem-backed sources may need a longer
|
|
// bounded window for an initial baseline; cooperative plugins should still
|
|
// checkpoint progress and return before this deadline.
|
|
DefaultScanSourceTimeout = 5 * time.Minute
|
|
DefaultEventTimeout = 10 * time.Second
|
|
DefaultAuthTimeout = 10 * time.Second
|
|
DefaultRouteTimeout = 10 * time.Second
|
|
DefaultWatchSyncTimeout = 60 * time.Second
|
|
// DefaultRequestRouterTimeout bounds a single request_router RPC.
|
|
// Fulfillment hits remote arr instances, so allow generous headroom.
|
|
DefaultRequestRouterTimeout = 60 * time.Second
|
|
)
|
|
|
|
func HandshakeConfig() plugin.HandshakeConfig {
|
|
return sdkruntime.HandshakeConfig()
|
|
}
|