mirror of
https://github.com/ultravioletrs/cocos.git
synced 2026-08-07 07:14:50 +00:00
ecad6514f3
* new agent structure Signed-off-by: Sammy Oina <sammyoina@gmail.com> * minor fixes and testing Signed-off-by: Sammy Oina <sammyoina@gmail.com> * fix lint Signed-off-by: Sammy Oina <sammyoina@gmail.com> * fix tests Signed-off-by: Sammy Oina <sammyoina@gmail.com> * cvm tests fix Signed-off-by: Sammy Oina <sammyoina@gmail.com> * fix test Signed-off-by: Sammy Oina <sammyoina@gmail.com> * fix cli test Signed-off-by: Sammy Oina <sammyoina@gmail.com> * rename Signed-off-by: Sammy Oina <sammyoina@gmail.com> * rename cvm to cvms plural Signed-off-by: Sammy Oina <sammyoina@gmail.com> * rename service Signed-off-by: Sammy Oina <sammyoina@gmail.com> * fix tests Signed-off-by: Sammy Oina <sammyoina@gmail.com> * remove context Signed-off-by: Sammy Oina <sammyoina@gmail.com> * refactor: reorder parameters in NewAlgorithm functions and update CVMClient to CVMSClient Signed-off-by: Sammy Oina <sammyoina@gmail.com> * fix(tests): update SendEvent mock to include an additional parameter Signed-off-by: Sammy Oina <sammyoina@gmail.com> * move expectations Signed-off-by: Sammy Oina <sammyoina@gmail.com> * fix(tests): move event initialization to the correct scope in service tests Signed-off-by: Sammy Oina <sammyoina@gmail.com> * fix(tests): update SendEvent mock to use EXPECT instead of On in service tests Signed-off-by: Sammy Oina <sammyoina@gmail.com> --------- Signed-off-by: Sammy Oina <sammyoina@gmail.com>
42 lines
924 B
Go
42 lines
924 B
Go
// Copyright (c) Ultraviolet
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
package events
|
|
|
|
import (
|
|
"encoding/json"
|
|
|
|
"github.com/ultravioletrs/cocos/agent/cvms"
|
|
"google.golang.org/protobuf/types/known/timestamppb"
|
|
)
|
|
|
|
type service struct {
|
|
service string
|
|
queue chan *cvms.ClientStreamMessage
|
|
}
|
|
|
|
type Service interface {
|
|
SendEvent(cmpID, event, status string, details json.RawMessage)
|
|
}
|
|
|
|
func New(svc string, queue chan *cvms.ClientStreamMessage) (Service, error) {
|
|
return &service{
|
|
service: svc,
|
|
queue: queue,
|
|
}, nil
|
|
}
|
|
|
|
func (s *service) SendEvent(cmpID, event, status string, details json.RawMessage) {
|
|
s.queue <- &cvms.ClientStreamMessage{
|
|
Message: &cvms.ClientStreamMessage_AgentEvent{
|
|
AgentEvent: &cvms.AgentEvent{
|
|
EventType: event,
|
|
Timestamp: timestamppb.Now(),
|
|
ComputationId: cmpID,
|
|
Originator: s.service,
|
|
Status: status,
|
|
Details: details,
|
|
},
|
|
},
|
|
}
|
|
}
|