/*
- * Copyright 2016 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
static_cast<uint32_t>(a) | static_cast<uint32_t>(b));
}
+/*
+ * compound assignment union operator
+ */
+inline WriteFlags& operator|=(WriteFlags& a, WriteFlags b) {
+ a = a | b;
+ return a;
+}
+
/*
* intersection operator
*/
static_cast<uint32_t>(a) & static_cast<uint32_t>(b));
}
+/*
+ * compound assignment intersection operator
+ */
+inline WriteFlags& operator&=(WriteFlags& a, WriteFlags b) {
+ a = a & b;
+ return a;
+}
+
/*
* exclusion parameter
*/
*/
virtual ssl::X509UniquePtr getPeerCert() const { return nullptr; }
+ /**
+ * The local certificate used for this connection. May be null
+ */
+ virtual const X509* getSelfCert() const {
+ return nullptr;
+ }
+
/**
* @return True iff end of record tracking is enabled
*/
return false;
}
+ /**
+ * Suggested buffer size, allocated for read operations,
+ * if callback is movable and supports folly::IOBuf
+ */
+
+ virtual size_t maxBufferSize() const {
+ return 64 * 1024; // 64K
+ }
+
/**
* readBufferAvailable() will be invoked when data has been successfully
* read.
*/
virtual void readBufferAvailable(std::unique_ptr<IOBuf> /*readBuf*/)
- noexcept {};
+ noexcept {}
/**
* readEOF() will be invoked when the transport is closed.