mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-24 07:11:20 +02:00
MINOR: obj_type: new object type for struct stream
This patch creates a new obj_type for the struct stream in HAProxy.
This commit is contained in:
parent
db4c8521ca
commit
0b9ce82dfa
@ -30,6 +30,7 @@
|
|||||||
#include <types/obj_type.h>
|
#include <types/obj_type.h>
|
||||||
#include <types/proxy.h>
|
#include <types/proxy.h>
|
||||||
#include <types/server.h>
|
#include <types/server.h>
|
||||||
|
#include <types/stream.h>
|
||||||
#include <types/stream_interface.h>
|
#include <types/stream_interface.h>
|
||||||
|
|
||||||
static inline enum obj_type obj_type(enum obj_type *t)
|
static inline enum obj_type obj_type(enum obj_type *t)
|
||||||
@ -51,6 +52,7 @@ static inline const char *obj_type_name(enum obj_type *t)
|
|||||||
case OBJ_TYPE_CONN: return "CONN";
|
case OBJ_TYPE_CONN: return "CONN";
|
||||||
case OBJ_TYPE_SRVRQ: return "SRVRQ";
|
case OBJ_TYPE_SRVRQ: return "SRVRQ";
|
||||||
case OBJ_TYPE_CS: return "CS";
|
case OBJ_TYPE_CS: return "CS";
|
||||||
|
case OBJ_TYPE_STREAM: return "STREAM";
|
||||||
default: return "!INVAL!";
|
default: return "!INVAL!";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -158,6 +160,18 @@ static inline struct dns_srvrq *objt_dns_srvrq(enum obj_type *t)
|
|||||||
return __objt_dns_srvrq(t);
|
return __objt_dns_srvrq(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline struct stream *__objt_stream(enum obj_type *t)
|
||||||
|
{
|
||||||
|
return container_of(t, struct stream, obj_type);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline struct stream *objt_stream(enum obj_type *t)
|
||||||
|
{
|
||||||
|
if (!t || *t != OBJ_TYPE_STREAM)
|
||||||
|
return NULL;
|
||||||
|
return __objt_stream(t);
|
||||||
|
}
|
||||||
|
|
||||||
static inline void *obj_base_ptr(enum obj_type *t)
|
static inline void *obj_base_ptr(enum obj_type *t)
|
||||||
{
|
{
|
||||||
switch (obj_type(t)) {
|
switch (obj_type(t)) {
|
||||||
|
@ -41,6 +41,7 @@ enum obj_type {
|
|||||||
OBJ_TYPE_CONN, /* object is a struct connection */
|
OBJ_TYPE_CONN, /* object is a struct connection */
|
||||||
OBJ_TYPE_SRVRQ, /* object is a struct dns_srvrq */
|
OBJ_TYPE_SRVRQ, /* object is a struct dns_srvrq */
|
||||||
OBJ_TYPE_CS, /* object is a struct conn_stream */
|
OBJ_TYPE_CS, /* object is a struct conn_stream */
|
||||||
|
OBJ_TYPE_STREAM, /* object is a struct stream */
|
||||||
OBJ_TYPE_ENTRIES /* last one : number of entries */
|
OBJ_TYPE_ENTRIES /* last one : number of entries */
|
||||||
} __attribute__((packed)) ;
|
} __attribute__((packed)) ;
|
||||||
|
|
||||||
|
@ -151,7 +151,9 @@ struct stream {
|
|||||||
struct stktable *table;
|
struct stktable *table;
|
||||||
} store[8]; /* tracked stickiness values to store */
|
} store[8]; /* tracked stickiness values to store */
|
||||||
int store_count;
|
int store_count;
|
||||||
/* 4 unused bytes here */
|
|
||||||
|
enum obj_type obj_type; /* object type == OBJ_TYPE_STREAM */
|
||||||
|
/* 3 unused bytes here */
|
||||||
|
|
||||||
struct stkctr stkctr[MAX_SESS_STKCTR]; /* content-aware stick counters */
|
struct stkctr stkctr[MAX_SESS_STKCTR]; /* content-aware stick counters */
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user