summaryrefslogtreecommitdiff
path: root/internal/clients/maker.go
blob: 81ced097df791a1a37f7390077fc36f5668f5d93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package clients

import (
	"github.com/mimecast/dtail/internal/clients/handlers"
)

// maker interface helps to re-use code in all DTail client implementations.
// All clients share the baseClient but have different connection handlers
// and send different commands to the DTail server.
type maker interface {
	makeHandler(server string) handlers.Handler
	makeCommands() (commands []string)
}

type sessionSpecMaker interface {
	makeSessionSpec() (SessionSpec, error)
}

type sessionCommitter interface {
	commitSessionSpec(spec SessionSpec, generation uint64) error
}