projects
/
folly.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Expose the zerocopy buf ID, change the AsyncSocket fd constructor to accept the id...
[folly.git]
/
folly
/
io
/
async
/
AsyncSocket.h
diff --git
a/folly/io/async/AsyncSocket.h
b/folly/io/async/AsyncSocket.h
index fb9d2c7f5983f64245681aca39a07424b6a48475..22dbc3944d8c63ce35aa18cc4b5c50501e0b1359 100644
(file)
--- a/
folly/io/async/AsyncSocket.h
+++ b/
folly/io/async/AsyncSocket.h
@@
-261,8
+261,9
@@
class AsyncSocket : virtual public AsyncTransportWrapper {
*
* @param evb EventBase that will manage this socket.
* @param fd File descriptor to take over (should be a connected socket).
*
* @param evb EventBase that will manage this socket.
* @param fd File descriptor to take over (should be a connected socket).
+ * @param zeroCopyBufId Zerocopy buf id to start with.
*/
*/
- AsyncSocket(EventBase* evb, int fd);
+ AsyncSocket(EventBase* evb, int fd
, uint32_t zeroCopyBufId = 0
);
/**
* Create an AsyncSocket from a different, already connected AsyncSocket.
/**
* Create an AsyncSocket from a different, already connected AsyncSocket.
@@
-516,8
+517,9
@@
class AsyncSocket : virtual public AsyncTransportWrapper {
return zeroCopyWriteChainThreshold_;
}
return zeroCopyWriteChainThreshold_;
}
- bool isZeroCopyMsg(const cmsghdr& cmsg) const;
- void processZeroCopyMsg(const cmsghdr& cmsg);
+ uint32_t getZeroCopyBufId() const {
+ return zeroCopyBufId_;
+ }
void write(WriteCallback* callback, const void* buf, size_t bytes,
WriteFlags flags = WriteFlags::NONE) override;
void write(WriteCallback* callback, const void* buf, size_t bytes,
WriteFlags flags = WriteFlags::NONE) override;
@@
-1155,8
+1157,12
@@
class AsyncSocket : virtual public AsyncTransportWrapper {
void cachePeerAddress() const;
bool isZeroCopyRequest(WriteFlags flags);
void cachePeerAddress() const;
bool isZeroCopyRequest(WriteFlags flags);
- uint32_t getNextZeroCopyBuffId() {
- return zeroCopyBuffId_++;
+
+ bool isZeroCopyMsg(const cmsghdr& cmsg) const;
+ void processZeroCopyMsg(const cmsghdr& cmsg);
+
+ uint32_t getNextZeroCopyBufId() {
+ return zeroCopyBufId_++;
}
void adjustZeroCopyFlags(folly::IOBuf* buf, folly::WriteFlags& flags);
void adjustZeroCopyFlags(
}
void adjustZeroCopyFlags(folly::IOBuf* buf, folly::WriteFlags& flags);
void adjustZeroCopyFlags(
@@
-1173,7
+1179,7
@@
class AsyncSocket : virtual public AsyncTransportWrapper {
// there is a that maps a buffer id to a raw folly::IOBuf ptr
// and another one that adds a ref count for a folly::IOBuf that is either
// the original ptr or nullptr
// there is a that maps a buffer id to a raw folly::IOBuf ptr
// and another one that adds a ref count for a folly::IOBuf that is either
// the original ptr or nullptr
- uint32_t zeroCopyBuf
f
Id_{0};
+ uint32_t zeroCopyBufId_{0};
struct IOBufInfo {
uint32_t count_{0};
struct IOBufInfo {
uint32_t count_{0};