diff options
author | 2025-03-07 08:02:42 -0500 | |
---|---|---|
committer | 2025-03-24 17:03:48 +0000 | |
commit | 8e50ec8dcadc33f057a621efbfdc948fd414784e (patch) | |
tree | e595359420cf0e92c742fe882fb20f82ebee6c35 /extras | |
parent | 7aebf804fe0050d4a48aab591b55f026e8dcc4c4 (diff) |
http: extendable conn/req ctx and multiplexing
multiplexing support:
- set request index as connection_index in application session
- do not allocate app session/http req immediately in
http_ts_accept_callback but wait for request/stream opening
HTTP version specific data in connection and request ctx:
- opaque pointer in http_conn_t
- req_pool manged entirely by specific version engine
Version specific configuration:
- added name to http_engine_vft_t
- added unformat_cfg_callback (optional) to http_engine_vft_t
Type: improvement
Change-Id: Ib43f0489337a222a68b0f81d45cb2e64b2c606c0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Diffstat (limited to 'extras')
-rw-r--r-- | extras/hs-test/http_test.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/extras/hs-test/http_test.go b/extras/hs-test/http_test.go index f4bee5e312b..760ca3ca936 100644 --- a/extras/hs-test/http_test.go +++ b/extras/hs-test/http_test.go @@ -239,6 +239,23 @@ func HttpCliTest(s *VethsSuite) { s.Log(o) s.AssertContains(o, "<html>", "<html> not found in the result!") s.AssertContains(o, "</html>", "</html> not found in the result!") + + /* test client session cleanup */ + clientCleanupDone := false + for nTries := 0; nTries < 30; nTries++ { + o := s.Containers.ClientVpp.VppInstance.Vppctl("show session verbose 2") + if !strings.Contains(o, "->"+s.Interfaces.Server.Ip4AddressString()+":80") { + clientCleanupDone = true + break + } + time.Sleep(1 * time.Second) + } + s.AssertEqual(true, clientCleanupDone) + + /* test server app stop listen */ + s.Containers.ServerVpp.VppInstance.Vppctl("http cli server listener del") + o = s.Containers.ServerVpp.VppInstance.Vppctl("show session verbose proto http") + s.AssertNotContains(o, "LISTEN") } func HttpCliTlsTest(s *VethsSuite) { |