This is an automated email from the ASF dual-hosted git repository.
cmcfarlen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new b4f1fcacb9 Restore alignment for structs stored in cache (#11167)
b4f1fcacb9 is described below
commit b4f1fcacb94f4a2c20491a33e9d448c64f9497a1
Author: Chris McFarlen <[email protected]>
AuthorDate: Mon Mar 18 17:33:52 2024 -0500
Restore alignment for structs stored in cache (#11167)
---
include/proxy/hdrs/HTTP.h | 12 ++++++------
include/proxy/hdrs/HdrHeap.h | 9 +++++----
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/include/proxy/hdrs/HTTP.h b/include/proxy/hdrs/HTTP.h
index d85ac9dc65..beffc8eb6d 100644
--- a/include/proxy/hdrs/HTTP.h
+++ b/include/proxy/hdrs/HTTP.h
@@ -480,19 +480,19 @@ class HTTPHdr : public MIMEHdr
public:
HTTPHdrImpl *m_http = nullptr;
mutable URL m_url_cached;
- mutable bool m_100_continue_required = false; ///< Whether 100_continue is
in the Expect header.
- mutable bool m_target_in_url = false; ///< Whether host name and
port are in the URL.
+ mutable MIMEField *m_host_mime = nullptr;
+ mutable int m_host_length = 0; ///< Length of hostname.
+ mutable int m_port = 0; ///< Target port.
mutable bool m_target_cached = false; ///< Whether host name and
port are cached.
- mutable bool early_data = false;
+ mutable bool m_target_in_url = false; ///< Whether host name and
port are in the URL.
+ mutable bool m_100_continue_required = false; ///< Whether 100_continue is
in the Expect header.
/// Set if the port was effectively specified in the header.
/// @c true if the target (in the URL or the HOST field) also specified
/// a port. That is, @c true if whatever source had the target host
/// also had a port, @c false otherwise.
mutable bool m_port_in_header = false;
- mutable int m_port = 0; ///< Target port.
- mutable int m_host_length = 0; ///< Length of hostname.
- mutable MIMEField *m_host_mime = nullptr;
+ mutable bool early_data = false;
HTTPHdr() = default; // Force the creation of the default constructor
diff --git a/include/proxy/hdrs/HdrHeap.h b/include/proxy/hdrs/HdrHeap.h
index f2a5cb335b..61145342f5 100644
--- a/include/proxy/hdrs/HdrHeap.h
+++ b/include/proxy/hdrs/HdrHeap.h
@@ -271,13 +271,11 @@ public:
void dump_heap(int len = -1);
uint32_t m_magic;
- bool m_writeable;
char *m_free_start;
char *m_data_start;
uint32_t m_size;
- // HdrBuf heap pointers
- uint32_t m_free_size;
+ bool m_writeable;
// Overflow block ptr
// Overflow blocks are necessary because we can
@@ -288,6 +286,9 @@ public:
// point to string heaps
HdrHeap *m_next;
+ // HdrBuf heap pointers
+ uint32_t m_free_size;
+
int demote_rw_str_heap();
void coalesce_str_heaps(int incoming_size = 0);
void evacuate_from_str_heaps(HdrStrHeap *new_heap);
@@ -330,8 +331,8 @@ public:
// String Heap access
Ptr<HdrStrHeap> m_read_write_heap;
- int m_lost_string_space;
StrHeapDesc m_ronly_heap[HDR_BUF_RONLY_HEAPS];
+ int m_lost_string_space;
};
static constexpr HdrHeapMarshalBlocks
HDR_HEAP_HDR_SIZE{swoc::round_up(sizeof(HdrHeap))};