Code Review
/
govpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Unexport adapter implementations to make it clear that API interfaces should be used
[govpp.git]
/
adapter
/
vppapiclient
/
stat_client.go
diff --git
a/adapter/vppapiclient/stat_client.go
b/adapter/vppapiclient/stat_client.go
index
5f3b932
..
2e2d6db
100644
(file)
--- a/
adapter/vppapiclient/stat_client.go
+++ b/
adapter/vppapiclient/stat_client.go
@@
-161,21
+161,28
@@
var (
DefaultStatSocket = "/run/vpp/stats.sock"
)
DefaultStatSocket = "/run/vpp/stats.sock"
)
-// StatClient is the default implementation of StatsAPI.
-type StatClient struct {
+// global VPP stats API client, library vppapiclient only supports
+// single connection at a time
+var globalStatClient *statClient
+
+// stubStatClient is the default implementation of StatsAPI.
+type statClient struct {
socketName string
}
// NewStatClient returns new VPP stats API client.
socketName string
}
// NewStatClient returns new VPP stats API client.
-func NewStatClient(socketName string)
*StatClient
{
- return &
S
tatClient{
+func NewStatClient(socketName string)
adapter.StatsAPI
{
+ return &
s
tatClient{
socketName: socketName,
}
}
socketName: socketName,
}
}
-func (c *StatClient) Connect() error {
- var sockName string
+func (c *statClient) Connect() error {
+ if globalStatClient != nil {
+ return fmt.Errorf("already connected to stats API, disconnect first")
+ }
+ var sockName string
if c.socketName == "" {
sockName = DefaultStatSocket
} else {
if c.socketName == "" {
sockName = DefaultStatSocket
} else {
@@
-187,15
+194,18
@@
func (c *StatClient) Connect() error {
return fmt.Errorf("connecting to VPP stats API failed (rc=%v)", rc)
}
return fmt.Errorf("connecting to VPP stats API failed (rc=%v)", rc)
}
+ globalStatClient = c
return nil
}
return nil
}
-func (c *StatClient) Disconnect() error {
+func (c *statClient) Disconnect() error {
+ globalStatClient = nil
+
C.govpp_stat_disconnect()
return nil
}
C.govpp_stat_disconnect()
return nil
}
-func (c *
S
tatClient) ListStats(patterns ...string) (stats []string, err error) {
+func (c *
s
tatClient) ListStats(patterns ...string) (stats []string, err error) {
dir := C.govpp_stat_segment_ls(convertStringSlice(patterns))
defer C.govpp_stat_segment_vec_free(unsafe.Pointer(dir))
dir := C.govpp_stat_segment_ls(convertStringSlice(patterns))
defer C.govpp_stat_segment_vec_free(unsafe.Pointer(dir))
@@
-209,7
+219,7
@@
func (c *StatClient) ListStats(patterns ...string) (stats []string, err error) {
return stats, nil
}
return stats, nil
}
-func (c *
S
tatClient) DumpStats(patterns ...string) (stats []*adapter.StatEntry, err error) {
+func (c *
s
tatClient) DumpStats(patterns ...string) (stats []*adapter.StatEntry, err error) {
dir := C.govpp_stat_segment_ls(convertStringSlice(patterns))
defer C.govpp_stat_segment_vec_free(unsafe.Pointer(dir))
dir := C.govpp_stat_segment_ls(convertStringSlice(patterns))
defer C.govpp_stat_segment_vec_free(unsafe.Pointer(dir))