func NewToolServer()

in dev-tools/v2tool/server/tool.go [34:69]


func NewToolServer(inputMgr *manager.InputManager) (*Tool, error) {
	serverName, err := genServerName()
	if err != nil {
		return nil, fmt.Errorf("error generating server name: %w", err)
	}

	ca, pair, err := generateCreds(serverName)
	if err != nil {
		return nil, fmt.Errorf("error generating credentials: %w", err)
	}

	var mut sync.Mutex

	start := time.Now()
	srv := mock.StubServerV2{
		CheckinV2Impl: func(observed *proto.CheckinObserved) *proto.CheckinExpected {
			mut.Lock()
			defer mut.Unlock()
			return inputMgr.Checkin(observed, start)
		},
		ActionImpl: func(response *proto.ActionResponse) error {
			return nil
		},
		ActionsChan: make(chan *mock.PerformAction, 100),
	}

	tool := &Tool{
		ca:         ca,
		pair:       pair,
		srv:        srv,
		serverName: serverName,
		manager:    inputMgr,
	}

	return tool, nil
}