tls: refactor ctx_write function to avoid allocate new memory every time
[vpp.git] / src / plugins / tlspicotls / tls_picotls.h
index b8e802e..1a253f0 100644 (file)
@@ -12,6 +12,9 @@
 #define TLS_RX_IS_LEFT(x) ((x)->rx_len != (x)->rx_offset)
 #define TLS_RX_LEFT_LEN(x) ((x)->rx_len - (x)->rx_offset)
 
+#define TLS_WRITE_OFFSET(x) ((x)->write_buffer.base + (x)->write_buffer_offset)
+#define TLS_WRITE_IS_LEFT(x) ((x)->write_buffer.off == (x)->write_buffer_offset)
+
 
 typedef struct tls_ctx_picotls_
 {
@@ -21,6 +24,10 @@ typedef struct tls_ctx_picotls_
   u8 *rx_content;
   int rx_offset;
   int rx_len;
+  ptls_buffer_t write_buffer;
+  uint8_t *write_content;
+  int write_buffer_offset;
+  int is_write_buffer_finished;
 } picotls_ctx_t;
 
 typedef struct tls_listen_ctx_picotls_