mirror of
https://github.com/turbot/steampipe.git
synced 2025-12-20 02:20:57 -05:00
37 lines
822 B
Go
37 lines
822 B
Go
package pluginmanager_service
|
|
|
|
import (
|
|
"sync"
|
|
|
|
pb "github.com/turbot/steampipe/v2/pkg/pluginmanager_service/grpc/proto"
|
|
)
|
|
|
|
// getResponse wraps pb.GetResponse, implementing locking or map access to allow concurrent usage
|
|
type getResponse struct {
|
|
*pb.GetResponse
|
|
|
|
failureLock sync.Mutex
|
|
reattachLock sync.Mutex
|
|
}
|
|
|
|
func newGetResponse() *getResponse {
|
|
return &getResponse{
|
|
GetResponse: &pb.GetResponse{
|
|
ReattachMap: make(map[string]*pb.ReattachConfig),
|
|
FailureMap: make(map[string]string),
|
|
},
|
|
}
|
|
}
|
|
|
|
func (r *getResponse) AddFailure(instance string, s string) {
|
|
r.failureLock.Lock()
|
|
defer r.failureLock.Unlock()
|
|
r.FailureMap[instance] = s
|
|
}
|
|
|
|
func (r *getResponse) AddReattach(c string, reattach *pb.ReattachConfig) {
|
|
r.reattachLock.Lock()
|
|
defer r.reattachLock.Unlock()
|
|
r.ReattachMap[c] = reattach
|
|
}
|