blob: 361c704d04e83257db669bedf8c16671d503d6c0 [file] [log] [blame]
Willy Tarreaubaaee002006-06-26 02:48:02 +02001/*
2 include/types/queue.h
3 This file defines variables and structures needed for queues.
4
5 Copyright (C) 2000-2006 Willy Tarreau - w@1wt.eu
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation, version 2.1
10 exclusively.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20*/
21
22#ifndef _TYPES_QUEUE_H
23#define _TYPES_QUEUE_H
24
Willy Tarreaue3ba5f02006-06-29 18:54:54 +020025#include <common/config.h>
Willy Tarreau2dd0d472006-06-29 17:53:05 +020026#include <common/mini-clist.h>
Christopher Faulet5cd4bbd2018-03-14 16:18:06 +010027#include <common/hathreads.h>
Willy Tarreaubaaee002006-06-26 02:48:02 +020028
29#include <types/server.h>
Thierry FOURNIERac836ba2014-12-16 15:41:18 +010030
Willy Tarreau87b09662015-04-03 00:22:06 +020031struct stream;
Willy Tarreaubaaee002006-06-26 02:48:02 +020032
33struct pendconn {
Christopher Faulet5cd4bbd2018-03-14 16:18:06 +010034 int strm_flags; /* stream flags */
Patrick Hemmerda282f42018-05-11 12:52:31 -040035 unsigned int queue_idx; /* value of proxy/server queue_idx at time of enqueue */
Christopher Faulet5cd4bbd2018-03-14 16:18:06 +010036 struct stream *strm;
37 struct proxy *px;
Willy Tarreau88930dd2018-07-26 07:38:54 +020038 struct server *srv; /* the server we are waiting for, may be NULL if don't care */
39 struct server *target; /* the server that was assigned, = srv except if srv==NULL */
Patrick Hemmer0355dab2018-05-11 12:52:31 -040040 struct eb32_node node;
Willy Tarreaubaaee002006-06-26 02:48:02 +020041};
42
Willy Tarreaubaaee002006-06-26 02:48:02 +020043#endif /* _TYPES_QUEUE_H */
44
45/*
46 * Local variables:
47 * c-indent-level: 8
48 * c-basic-offset: 8
49 * End:
50 */