| // Copyright 2016 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 allocator |
| |
| import "time" |
| |
| // Instance describes a service instance. |
| type Instance struct { |
| Handle string |
| MountName string |
| BlessingNames []string |
| CreationTime time.Time |
| Replicas int32 |
| Version string |
| } |
| |
| type Allocator interface { |
| // Create creates a new instance of the service. |
| // It returns a handle for the new instance. |
| Create() (handle string | error) |
| |
| // Destroy destroys the instance with the given handle. |
| Destroy(handle string) error |
| |
| // List returns a list of all the instances owned by the caller. |
| List() (instances []Instance | error) |
| } |