Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vpp-api: Add context to VPPStatsIOError.
[vpp.git]
/
src
/
vpp-api
/
client
/
stat_client.c
diff --git
a/src/vpp-api/client/stat_client.c
b/src/vpp-api/client/stat_client.c
index
98c2757
..
2cf53d5
100644
(file)
--- a/
src/vpp-api/client/stat_client.c
+++ b/
src/vpp-api/client/stat_client.c
@@
-30,7
+30,15
@@
#include <vppinfra/lock.h>
#include "stat_client.h"
#include <stdatomic.h>
#include <vppinfra/lock.h>
#include "stat_client.h"
#include <stdatomic.h>
+#include <vpp/stats/stat_segment.h>
+struct stat_client_main_t
+{
+ uint64_t current_epoch;
+ stat_segment_shared_header_t *shared_header;
+ stat_segment_directory_entry_t *directory_vector;
+ ssize_t memory_size;
+};
stat_client_main_t stat_client_main;
stat_client_main_t stat_client_main;
@@
-97,7
+105,7
@@
get_stat_vector (void)
}
int
}
int
-stat_segment_connect_r (char *socket_name, stat_client_main_t * sm)
+stat_segment_connect_r (c
onst c
har *socket_name, stat_client_main_t * sm)
{
int mfd = -1;
int sock;
{
int mfd = -1;
int sock;
@@
-116,14
+124,14
@@
stat_segment_connect_r (char *socket_name, stat_client_main_t * sm)
0)
{
close (sock);
0)
{
close (sock);
- return -
1
;
+ return -
2
;
}
if ((mfd = recv_fd (sock)) < 0)
{
close (sock);
fprintf (stderr, "Receiving file descriptor failed\n");
}
if ((mfd = recv_fd (sock)) < 0)
{
close (sock);
fprintf (stderr, "Receiving file descriptor failed\n");
- return -
1
;
+ return -
3
;
}
close (sock);
}
close (sock);
@@
-134,13
+142,13
@@
stat_segment_connect_r (char *socket_name, stat_client_main_t * sm)
if (fstat (mfd, &st) == -1)
{
perror ("mmap fstat failed");
if (fstat (mfd, &st) == -1)
{
perror ("mmap fstat failed");
- return -
1
;
+ return -
4
;
}
if ((memaddr =
mmap (NULL, st.st_size, PROT_READ, MAP_SHARED, mfd, 0)) == MAP_FAILED)
{
perror ("mmap map failed");
}
if ((memaddr =
mmap (NULL, st.st_size, PROT_READ, MAP_SHARED, mfd, 0)) == MAP_FAILED)
{
perror ("mmap map failed");
- return -
1
;
+ return -
5
;
}
sm->memory_size = st.st_size;
}
sm->memory_size = st.st_size;
@@
-152,7
+160,7
@@
stat_segment_connect_r (char *socket_name, stat_client_main_t * sm)
}
int
}
int
-stat_segment_connect (char *socket_name)
+stat_segment_connect (c
onst c
har *socket_name)
{
stat_client_main_t *sm = &stat_client_main;
return stat_segment_connect_r (socket_name, sm);
{
stat_client_main_t *sm = &stat_client_main;
return stat_segment_connect_r (socket_name, sm);
@@
-313,7
+321,7
@@
stat_segment_ls_r (uint8_t ** patterns, stat_client_main_t * sm)
int i, j;
for (i = 0; i < vec_len (patterns); i++)
{
int i, j;
for (i = 0; i < vec_len (patterns); i++)
{
- int rv = regcomp (®ex[i], (char *) patterns[i], 0);
+ int rv = regcomp (®ex[i], (c
onst c
har *) patterns[i], 0);
if (rv)
{
fprintf (stderr, "Could not compile regex %s\n", patterns[i]);
if (rv)
{
fprintf (stderr, "Could not compile regex %s\n", patterns[i]);
@@
-411,12
+419,14
@@
stat_segment_vec_free (void *vec)
}
/* Create a vector from a string (or add to existing) */
}
/* Create a vector from a string (or add to existing) */
-u
8
**
-stat_segment_string_vector (u
8 ** string_vector,
char *string)
+u
int8_t
**
+stat_segment_string_vector (u
int8_t ** string_vector, const
char *string)
{
{
- u8 *name = 0;
- name = vec_dup ((u8 *) string);
- vec_add1 (string_vector, (u8 *) name);
+ uint8_t *name = 0;
+ size_t len = strlen (string);
+
+ vec_validate_init_c_string (name, string, len);
+ vec_add1 (string_vector, name);
return string_vector;
}
return string_vector;
}