1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // +build windows
- package libcontainerd
- import (
- "sync"
- "github.com/sirupsen/logrus"
- )
- type remote struct {
- sync.RWMutex
- logger *logrus.Entry
- clients []*client
- // Options
- rootDir string
- stateDir string
- }
- // New creates a fresh instance of libcontainerd remote.
- func New(rootDir, stateDir string, options ...RemoteOption) (Remote, error) {
- return &remote{
- logger: logrus.WithField("module", "libcontainerd"),
- rootDir: rootDir,
- stateDir: stateDir,
- }, nil
- }
- type client struct {
- sync.Mutex
- rootDir string
- stateDir string
- backend Backend
- logger *logrus.Entry
- eventQ queue
- containers map[string]*container
- }
- func (r *remote) NewClient(ns string, b Backend) (Client, error) {
- c := &client{
- rootDir: r.rootDir,
- stateDir: r.stateDir,
- backend: b,
- logger: r.logger.WithField("namespace", ns),
- containers: make(map[string]*container),
- }
- r.Lock()
- r.clients = append(r.clients, c)
- r.Unlock()
- return c, nil
- }
- func (r *remote) Cleanup() {
- // Nothing to do
- }
|