diff options
Diffstat (limited to 'configd/src/apps/sentinel/line-splitter.h')
-rw-r--r-- | configd/src/apps/sentinel/line-splitter.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/configd/src/apps/sentinel/line-splitter.h b/configd/src/apps/sentinel/line-splitter.h new file mode 100644 index 00000000000..28d183f3e15 --- /dev/null +++ b/configd/src/apps/sentinel/line-splitter.h @@ -0,0 +1,33 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +#pragma once + +namespace config { +namespace sentinel { + +class LineSplitter { +private: + int _fd; + int _size; + char *_buffer; + int _readPos; + int _writePos; + bool _eof; + + LineSplitter(); + LineSplitter& operator =(const LineSplitter&); + LineSplitter(const LineSplitter&); + + bool resize(); + bool fill(); + +public: + explicit LineSplitter(int fd); + char *getLine(); + bool eof() const { return _eof; } + + ~LineSplitter(); +}; + +} // end namespace config::sentinel +} // end namespace config + |