blob: cf9524df2bcea26c9fe0c677754afa0370252f54 [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package interfaces
import (
"v.io/v23/context"
"v.io/v23/rpc"
"v.io/x/ref/services/syncbase/store"
"v.io/x/ref/services/syncbase/vclock"
)
// Service is an internal interface to the service layer.
type Service interface {
// St returns the storage engine instance for this service.
St() store.Store
// Sync returns the sync instance for this service.
Sync() SyncServerMethods
// VClock returns the vclock instance for this service.
VClock() *vclock.VClock
// App returns the App with the specified name.
App(ctx *context.T, call rpc.ServerCall, appName string) (App, error)
// AppNames returns the names of the Apps within the service.
AppNames(ctx *context.T, call rpc.ServerCall) ([]string, error)
}