diff options
| author | yangwei <[email protected]> | 2024-06-07 04:14:33 +0800 |
|---|---|---|
| committer | yangwei <[email protected]> | 2024-06-11 05:21:59 +0800 |
| commit | fca4f4dc8c9082ff9f940aca0621ad5d71743169 (patch) | |
| tree | 7c72502f891a2dd01a265441c8b26864769fcb2a | |
| parent | 4005f8800a67560ec386c1388bfb1c2433c0dabd (diff) | |
API upgrade, MESA_detain_rawpkt_data_get0v4.3.58
| -rw-r--r-- | include/public/stream_inc/stream_rawpkt.h | 2 | ||||
| -rw-r--r-- | src/dealpkt/plug_support.c | 9 |
2 files changed, 7 insertions, 4 deletions
diff --git a/include/public/stream_inc/stream_rawpkt.h b/include/public/stream_inc/stream_rawpkt.h index 448bbf0..cf9f35f 100644 --- a/include/public/stream_inc/stream_rawpkt.h +++ b/include/public/stream_inc/stream_rawpkt.h @@ -124,7 +124,7 @@ int MESA_detain_pkt_forward(struct detain_pkt *pkt); int MESA_detain_pkt_forward_based_on_stream(const struct streaminfo *pstream, struct detain_pkt *dpkt);
void MESA_detain_pkt_free(struct detain_pkt *pkt);
-void *MESA_detain_rawpkt_get0(struct detain_pkt *pkt);
+const char *MESA_detain_rawpkt_data_get0(struct streaminfo *pstream, struct detain_pkt *pkt, int *data_sz);
void sapp_emit_datapath_telemetry(const void *raw_pkt, const char * module, const char *str);
diff --git a/src/dealpkt/plug_support.c b/src/dealpkt/plug_support.c index d82585b..2f025da 100644 --- a/src/dealpkt/plug_support.c +++ b/src/dealpkt/plug_support.c @@ -27,10 +27,13 @@ static struct segment_id_list *segment_id_list_dup(sapp_mem_type_t type, int tid return dlist;
}
-inline void *MESA_detain_rawpkt_get0(struct detain_pkt *pkt)
+const char *MESA_detain_rawpkt_data_get0(struct streaminfo *pstream, struct detain_pkt *pkt, int *data_sz)
{
- if(pkt==NULL)return NULL;
- return (void *)pkt->original;
+ if(data_sz==NULL)return NULL;
+ if(pkt==NULL || pkt->original == NULL)return NULL;
+ struct streaminfo_private *pstream_pr = (struct streaminfo_private *)pstream;
+ *data_sz = pkt->replica.raw_pkt_len - pstream_pr->offset_to_raw_pkt_hdr;
+ return (const char *)((const char *)pkt->replica.raw_pkt_data + pstream_pr->offset_to_raw_pkt_hdr);
}
struct detain_pkt* MESA_rawpkt_detain(const struct streaminfo *pstream, const void *rawpkt)
|
