proxygen
ManagedConnection.cpp
Go to the documentation of this file.
1 /*
2  * Copyright 2017-present Facebook, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
18 
20 
21 namespace wangle {
22 
24  : connectionManager_(nullptr) {
25 }
26 
28  if (connectionManager_) {
30  }
31 }
32 
33 void
35  if (connectionManager_) {
37  }
38 }
39 
40 void
41 ManagedConnection::resetTimeoutTo(std::chrono::milliseconds timeout) {
42  if (connectionManager_) {
43  connectionManager_->scheduleTimeout(this, timeout);
44  }
45 }
46 
47 void
50  std::chrono::milliseconds timeout) {
51  if (connectionManager_) {
52  connectionManager_->scheduleTimeout(callback, timeout);
53  }
54 }
55 
57 
58 std::ostream&
59 operator<<(std::ostream& os, const ManagedConnection& conn) {
60  conn.describe(os);
61  return os;
62 }
63 
64 } // wangle
virtual void scheduleTimeout(folly::HHWheelTimer::Callback *callback, std::chrono::milliseconds timeout)
std::chrono::milliseconds getDefaultTimeout() const
void removeConnection(ManagedConnection *connection)
#define nullptr
Definition: http_parser.c:41
void resetTimeoutTo(std::chrono::milliseconds)
void scheduleTimeout(ManagedConnection *const connection, std::chrono::milliseconds timeout)
virtual void describe(std::ostream &os) const =0
ConnectionManager * connectionManager_
std::ostream & operator<<(std::ostream &os, const ManagedConnection &conn)