Enhancement: Improve error handling in stellar's packet API by checking return values of metadata functions and adding descriptive error logging
This commit is contained in:
@@ -176,7 +176,10 @@ void packet_set_direction(struct packet *pkt, int dir)
|
||||
{
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
marsio_buff_set_metadata(mbuff, MR_BUFF_DIR, &dir, sizeof(dir));
|
||||
if (marsio_buff_set_metadata(mbuff, MR_BUFF_DIR, &dir, sizeof(dir)) != 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to set direction");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,7 +191,10 @@ int packet_get_direction(const struct packet *pkt)
|
||||
{
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
marsio_buff_get_metadata(mbuff, MR_BUFF_DIR, &direction, sizeof(direction));
|
||||
if (marsio_buff_get_metadata(mbuff, MR_BUFF_DIR, &direction, sizeof(direction)) <= 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to get direction");
|
||||
}
|
||||
}
|
||||
|
||||
return direction;
|
||||
@@ -200,7 +206,10 @@ void packet_set_session_id(struct packet *pkt, uint64_t sess_id)
|
||||
{
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
marsio_buff_set_metadata(mbuff, MR_BUFF_SESSION_ID, &sess_id, sizeof(sess_id));
|
||||
if (marsio_buff_set_metadata(mbuff, MR_BUFF_SESSION_ID, &sess_id, sizeof(sess_id)) != 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to set session id");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -211,7 +220,10 @@ uint64_t packet_get_session_id(const struct packet *pkt)
|
||||
{
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
marsio_buff_get_metadata(mbuff, MR_BUFF_SESSION_ID, &sess_id, sizeof(sess_id));
|
||||
if (marsio_buff_get_metadata(mbuff, MR_BUFF_SESSION_ID, &sess_id, sizeof(sess_id)) <= 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to get session id");
|
||||
}
|
||||
}
|
||||
|
||||
return sess_id;
|
||||
@@ -223,8 +235,13 @@ void packet_set_domain(struct packet *pkt, uint64_t domain)
|
||||
{
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
// TODO
|
||||
// marsio_buff_set_metadata(mbuff, MR_BUFF_DOMAIN, &domain, sizeof(domain));
|
||||
// TODO
|
||||
#if 0
|
||||
if (marsio_buff_set_metadata(mbuff, MR_BUFF_DOMAIN, &domain, sizeof(domain)) != 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to set domain");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,8 +252,13 @@ uint64_t packet_get_domain(const struct packet *pkt)
|
||||
{
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
// TODO
|
||||
// marsio_buff_get_metadata(mbuff, MR_BUFF_DOMAIN, &domain, sizeof(domain));
|
||||
// TODO
|
||||
#if 0
|
||||
if (marsio_buff_get_metadata(mbuff, MR_BUFF_DOMAIN, &domain, sizeof(domain)) <= 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to get domain");
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
return domain;
|
||||
@@ -248,7 +270,10 @@ void packet_set_route_ctx(struct packet *pkt, const char *route, int len)
|
||||
{
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
marsio_buff_set_metadata(mbuff, MR_BUFF_ROUTE_CTX, (void *)route, len);
|
||||
if (marsio_buff_set_metadata(mbuff, MR_BUFF_ROUTE_CTX, (void *)route, len) != 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to set route ctx");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -261,6 +286,10 @@ int packet_get_route_ctx(const struct packet *pkt, char *buff, int size)
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
len = marsio_buff_get_metadata(mbuff, MR_BUFF_ROUTE_CTX, buff, size);
|
||||
if (len <= 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to get route ctx");
|
||||
}
|
||||
}
|
||||
|
||||
return len;
|
||||
@@ -272,7 +301,10 @@ void packet_set_sid_list(struct packet *pkt, uint16_t *sid, int num)
|
||||
{
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
marsio_buff_set_sid_list(mbuff, sid, num);
|
||||
if (marsio_buff_set_sid_list(mbuff, sid, num) != 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to set sid list");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,7 +327,10 @@ void packet_prepend_sid_list(struct packet *pkt, uint16_t *sid, int num)
|
||||
{
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
marsio_buff_prepend_sid_list(mbuff, sid, num);
|
||||
if (marsio_buff_prepend_sid_list(mbuff, sid, num) != 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to prepend sid list");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,6 +340,9 @@ void packet_append_sid_list(struct packet *pkt, uint16_t *sid, int num)
|
||||
{
|
||||
marsio_buff_t *mbuff = (marsio_buff_t *)packet_get_io_ctx(pkt);
|
||||
assert(mbuff != NULL);
|
||||
marsio_buff_append_sid_list(mbuff, sid, num);
|
||||
if (marsio_buff_append_sid_list(mbuff, sid, num) != 0)
|
||||
{
|
||||
PACKET_LOG_ERROR("failed to append sid list");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user