proxygen
HTTPTransactionEgressSM.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-present, Facebook, Inc.
3  * All rights reserved.
4  *
5  * This source code is licensed under the BSD-style license found in the
6  * LICENSE file in the root directory of this source tree. An additional grant
7  * of patent rights can be found in the PATENTS file in the same directory.
8  *
9  */
10 #pragma once
11 
12 #include <iosfwd>
14 
15 namespace proxygen {
16 
18  public:
19 
20  enum class State: uint8_t {
21  Start,
28  EOMQueued,
30  };
31 
32  enum class Event: uint8_t {
33  // API accessible transitions
34  sendHeaders,
35  sendBody,
36  sendChunkHeader,
37  sendChunkTerminator,
38  sendTrailers,
39  sendEOM,
40  // Internal state transitions
41  eomFlushed,
42  };
43 
45  return State::Start;
46  }
47 
48  static std::pair<State, bool> find(State s, Event e);
49 
50  static const std::string getName() {
51  return "HTTPTransactionEgress";
52  }
53 };
54 
55 std::ostream& operator<<(std::ostream& os,
57 
58 std::ostream& operator<<(std::ostream& os,
60 
62 
63 }
std::ostream & operator<<(std::ostream &os, const HeaderTable &table)
static std::pair< State, bool > find(State s, Event e)
const char * string
Definition: Conv.cpp:212
static set< string > s