2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42#include "core/pipe/Source.h"
44#include "core/pipe/Sink.h"
46#ifndef DOXYGEN_SHOULD_SKIP_THIS
55 if (
sink !=
nullptr) {
61 const bool success = sink !=
nullptr &&
isOpen();
84 ssize_t
Source::
send(
const char* chunk, std::size_t chunkLen) {
85 ssize_t ret =
static_cast<ssize_t>(chunkLen);
87 if (
sink !=
nullptr) {
98 if (
sink !=
nullptr) {
104 if (
sink !=
nullptr) {
void pipe(Source *source)
void streamError(int errnum)
void disconnect(const Source *source)
void streamData(const char *chunk, std::size_t chunkLen)
ssize_t send(const char *chunk, std::size_t chunkLen)
void disconnect(const Sink *sink)
bool pipe(const std::shared_ptr< Sink > &sink)