#include <algorithm>
#include <unordered_set>
-namespace folly { namespace io {
+namespace folly {
+namespace io {
Codec::Codec(CodecType type) : type_(type) { }
return val;
}
-} // namespace
+} // namespace
#endif // FOLLY_HAVE_LIBLZ4 || FOLLY_HAVE_LIBLZMA
std::vector<std::unique_ptr<Codec>> customCodecs) {
return AutomaticCodec::create(std::move(customCodecs));
}
-}} // namespaces
+} // namespace io
+} // namespace folly
* Compression / decompression over IOBufs
*/
-namespace folly { namespace io {
+namespace folly {
+namespace io {
enum class CodecType {
/**
* Check if a specified codec is supported and supports streaming.
*/
bool hasStreamCodec(CodecType type);
-}} // namespaces
+} // namespace io
+} // namespace folly
CursorNoopAppender appender;
readWhile(predicate, appender);
}
-}
-}
-} // folly::io::detail
+} // namespace detail
+} // namespace io
+} // namespace folly
#include <cstdio>
#include <folly/ScopeGuard.h>
-namespace folly { namespace io {
+namespace folly {
+namespace io {
void Appender::printf(const char* fmt, ...) {
va_list ap;
}
append(len);
}
-
-}} // folly::io
+} // namespace io
+} // namespace folly
* Appender with a buffer chain; for this reason, Appenders assume private
* access to the buffer (you need to call unshare() yourself if necessary).
**/
-namespace folly { namespace io {
+namespace folly {
+namespace io {
namespace detail {
BufType* buffer_;
};
-} // namespace detail
+} // namespace detail
class Cursor : public detail::CursorBase<Cursor, const IOBuf> {
public:
folly::IOBufQueue* queue_;
size_t growth_;
};
-
-}} // folly::io
+} // namespace io
+} // namespace folly
#include <folly/io/Cursor-inl.h>
static_assert(offsetof(Header, headerHash) + sizeof(Header::headerHash) ==
sizeof(Header), "invalid header layout");
-} // namespace detail
+} // namespace detail
constexpr size_t headerSize() { return sizeof(detail::Header); }
return findRecord(range, range, fileId);
}
-} // namespace recordio_helpers
+} // namespace recordio_helpers
-} // namespaces
+} // namespace folly
return hash::SpookyHashV2::Hash64(range.data(), range.size(), kHashSeed);
}
-} // namespace
+} // namespace
size_t prependHeader(std::unique_ptr<IOBuf>& buf, uint32_t fileId) {
if (fileId == 0) {
return {0, {}};
}
-} // namespace
+} // namespace recordio_helpers
-} // namespaces
+} // namespace folly
*/
RecordInfo validateRecord(ByteRange range, uint32_t fileId);
-} // namespace recordio_helpers
+} // namespace recordio_helpers
-} // namespaces
+} // namespace folly
#include <folly/io/RecordIO-inl.h>
folly::dup2NoInt(nullFile_.fd(), fd);
}
-} // namespaces
+} // namespace folly
folly::File nullFile_;
};
-} // namespaces
+} // namespace folly
IOBuf* buf_;
};
-} // namespace folly
+} // namespace folly
#include <zstd.h>
#endif
-namespace folly { namespace io { namespace test {
+namespace folly {
+namespace io {
+namespace test {
class DataHolder : private boost::noncopyable {
public:
}
#endif
-}}} // namespaces
+} // namespace test
+} // namespace io
+} // namespace folly
int main(int argc, char *argv[]) {
testing::InitGoogleTest(&argc, argv);
return str;
}
-} // namespace
+} // namespace
TEST(IOBuf, PullAndPeek) {
std::unique_ptr<IOBuf> iobuf1(IOBuf::create(10));
delete[] p;
}
-} // namespace
+} // namespace
TEST(IOBuf, takeOwnershipUniquePtr) {
destructorCount = 0;
std::unique_ptr<IOBuf> fromStr(StringPiece sp) {
return IOBuf::copyBuffer(ByteRange(sp));
}
-} // namespace
+} // namespace
TEST(IOBuf, HashAndEqual) {
folly::IOBufEqual eq;
return reinterpret_cast<char*>(buf.writableData());
}
-} // namespace
+} // namespace
TEST(IOBuf, ExternallyShared) {
struct Item {
DEFINE_int32(random_seed, folly::randomNumberSeed(), "random seed");
-namespace folly { namespace test {
+namespace folly {
+namespace test {
namespace {
// shortcut
return queue.move();
}
-} // namespace
+} // namespace
TEST(RecordIOTest, Simple) {
TemporaryFile file;
++val;
EXPECT_EQ(1, pwrite(fd, &val, 1, pos));
}
-} // namespace
+} // namespace
TEST(RecordIOTest, Randomized) {
SCOPED_TRACE(to<std::string>("Random seed is ", FLAGS_random_seed));
EXPECT_EQ(records.size(), i);
}
}
+} // namespace test
+} // namespace folly
-}} // namespaces
int main(int argc, char *argv[]) {
testing::InitGoogleTest(&argc, argv);
namespace fsp = folly::portability::sockets;
-namespace folly { namespace test {
+namespace folly {
+namespace test {
ShutdownSocketSet shutdownSocketSet;
TEST(ShutdownSocketSetTest, AbortiveKill) {
runKillTest(true);
}
-
-}} // namespaces
+} // namespace test
+} // namespace folly