clean up + TODO comments (thanks to saghul)
This commit is contained in:
parent
3d28243281
commit
464154d103
@ -172,6 +172,12 @@ class Fs final: public Request<Fs, uv_fs_t> {
|
||||
|
||||
static void fsReadlinkCallback(uv_fs_t *req) {
|
||||
// TODO - uv_fs_readlink callback
|
||||
/*
|
||||
[10:00] <@saghul> in readlink's case, the result is in req->ptr
|
||||
[10:00] <@saghul> it's a null terminated string
|
||||
[10:00] <@saghul> but in that case the result will be 0
|
||||
[10:00] <@saghul> indicating success
|
||||
*/
|
||||
}
|
||||
|
||||
using Request::Request;
|
||||
@ -220,17 +226,9 @@ public:
|
||||
return std::make_pair(ErrorEvent{err}, FsEvent<Type::UNLINK>{});
|
||||
}
|
||||
|
||||
void write(FileHandle file, char *data, ssize_t len, int64_t offset) {
|
||||
uv_buf_t bufs[] = { uv_buf_init(data, len) };
|
||||
invoke(&uv_fs_write, parent(), get<uv_fs_t>(), file, bufs, 1, offset, &fsWriteCallback);
|
||||
}
|
||||
|
||||
void write(FileHandle file, std::unique_ptr<char[]> data, ssize_t len, int64_t offset) {
|
||||
write(file, data.get(), len, offset);
|
||||
}
|
||||
|
||||
auto writeSync(FileHandle file, char *data, ssize_t len, int64_t offset) {
|
||||
// TODO uv_fs_write (sync (cb null))
|
||||
uv_buf_t bufs[] = { uv_buf_init(data.get(), len) };
|
||||
invoke(&uv_fs_write, parent(), get<uv_fs_t>(), file, bufs, 1, offset, &fsWriteCallback);
|
||||
}
|
||||
|
||||
auto writeSync(FileHandle file, std::unique_ptr<char[]> data, ssize_t len, int64_t offset) {
|
||||
|
||||
@ -155,8 +155,8 @@ public:
|
||||
this->invoke(&uv_read_stop, this->template get<uv_stream_t>());
|
||||
}
|
||||
|
||||
void write(char *data, ssize_t len) {
|
||||
uv_buf_t bufs[] = { uv_buf_init(data, len) };
|
||||
void write(std::unique_ptr<char[]> data, ssize_t len) {
|
||||
uv_buf_t bufs[] = { uv_buf_init(data.get(), len) };
|
||||
|
||||
auto listener = [ptr = this->shared_from_this()](const auto &event, details::Write &) {
|
||||
ptr->publish(event);
|
||||
@ -168,13 +168,9 @@ public:
|
||||
write->write(this->template get<uv_stream_t>(), bufs, 1);
|
||||
}
|
||||
|
||||
void write(std::unique_ptr<char[]> data, ssize_t len) {
|
||||
write(data.get(), len);
|
||||
}
|
||||
|
||||
template<typename S>
|
||||
void write(S &send, char *data, ssize_t len) {
|
||||
uv_buf_t bufs[] = { uv_buf_init(data, len) };
|
||||
void write(S &send, std::unique_ptr<char[]> data, ssize_t len) {
|
||||
uv_buf_t bufs[] = { uv_buf_init(data.get(), len) };
|
||||
|
||||
auto listener = [ptr = this->shared_from_this()](const auto &event, details::Write &) {
|
||||
ptr->publish(event);
|
||||
@ -186,13 +182,8 @@ public:
|
||||
write->write(this->template get<uv_stream_t>(), bufs, 1, send.template get<uv_stream_t>());
|
||||
}
|
||||
|
||||
template<typename S>
|
||||
void write(S &send, std::unique_ptr<char[]> data, ssize_t len) {
|
||||
write(send, data.get(), len);
|
||||
}
|
||||
|
||||
int tryWrite(char *data, ssize_t len) {
|
||||
uv_buf_t bufs[] = { uv_buf_init(data, len) };
|
||||
int tryWrite(std::unique_ptr<char[]> data, ssize_t len) {
|
||||
uv_buf_t bufs[] = { uv_buf_init(data.get(), len) };
|
||||
auto bw = uv_try_write(this->template get<uv_stream_t>(), bufs, 1);
|
||||
|
||||
if(bw < 0) {
|
||||
@ -203,10 +194,6 @@ public:
|
||||
return bw;
|
||||
}
|
||||
|
||||
int tryWrite(std::unique_ptr<char[]> data, ssize_t len) {
|
||||
return tryWrite(data.get(), len);
|
||||
}
|
||||
|
||||
bool readable() const noexcept {
|
||||
return (uv_is_readable(this->template get<uv_stream_t>()) == 1);
|
||||
}
|
||||
|
||||
@ -156,11 +156,11 @@ public:
|
||||
void ttl(int val) { invoke(&uv_udp_set_ttl, get<uv_udp_t>(), val > 255 ? 255 : val); }
|
||||
|
||||
template<typename I = IPv4>
|
||||
void send(std::string ip, unsigned int port, char *data, ssize_t len) {
|
||||
void send(std::string ip, unsigned int port, std::unique_ptr<char[]> data, ssize_t len) {
|
||||
typename details::IpTraits<I>::Type addr;
|
||||
details::IpTraits<I>::AddrFunc(ip.data(), port, &addr);
|
||||
|
||||
uv_buf_t bufs[] = { uv_buf_init(data, len) };
|
||||
uv_buf_t bufs[] = { uv_buf_init(data.get(), len) };
|
||||
|
||||
auto listener = [ptr = shared_from_this()](const auto &event, details::Send &) {
|
||||
ptr->publish(event);
|
||||
@ -173,16 +173,11 @@ public:
|
||||
}
|
||||
|
||||
template<typename I = IPv4>
|
||||
void send(std::string ip, unsigned int port, std::unique_ptr<char[]> data, ssize_t len) {
|
||||
send<I>(ip, port, data.get(), len);
|
||||
}
|
||||
|
||||
template<typename I = IPv4>
|
||||
int trySend(std::string ip, unsigned int port, char *data, ssize_t len) {
|
||||
int trySend(std::string ip, unsigned int port, std::unique_ptr<char[]> data, ssize_t len) {
|
||||
typename details::IpTraits<I>::Type addr;
|
||||
details::IpTraits<I>::AddrFunc(ip.data(), port, &addr);
|
||||
|
||||
uv_buf_t bufs[] = { uv_buf_init(data, len) };
|
||||
uv_buf_t bufs[] = { uv_buf_init(data.get(), len) };
|
||||
auto bw = uv_udp_try_send(get<uv_udp_t>(), bufs, 1, reinterpret_cast<const sockaddr *>(&addr));
|
||||
|
||||
if(bw < 0) {
|
||||
@ -193,11 +188,6 @@ public:
|
||||
return bw;
|
||||
}
|
||||
|
||||
template<typename I = IPv4>
|
||||
int trySend(std::string ip, unsigned int port, std::unique_ptr<char[]> data, ssize_t len) {
|
||||
return trySend<I>(ip, port, data.get(), len);
|
||||
}
|
||||
|
||||
template<typename I = IPv4>
|
||||
void recv() {
|
||||
invoke(&uv_udp_recv_start, get<uv_udp_t>(), &allocCallback, &recvCallback<I>);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user