mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 15:28:17 +00:00
rstream/wstream: Unify structures and simplify API
- Simplify RStream/WStream API and make it more consistent with libuv. - Move into the event loop layer(event subdirectory) - Remove uv_helpers module. - Simplify job/process internal modules/API. - Unify RStream and WStream into a single structure. This is necessary because libuv streams can be readable and writable at the same time(and because the uv_helpers.c hack to associate multiple streams with libuv handle was removed) - Make struct definition public, allowing more flexible/simple memory management by users of the module. - Adapt channel/job modules to cope with the changes.
This commit is contained in:
@@ -83,8 +83,7 @@
|
||||
#include "nvim/window.h"
|
||||
#include "nvim/os/os.h"
|
||||
#include "nvim/os/job.h"
|
||||
#include "nvim/os/rstream.h"
|
||||
#include "nvim/os/rstream_defs.h"
|
||||
#include "nvim/event/rstream.h"
|
||||
#include "nvim/os/time.h"
|
||||
#include "nvim/msgpack_rpc/channel.h"
|
||||
#include "nvim/msgpack_rpc/server.h"
|
||||
@@ -20353,19 +20352,19 @@ static inline void push_job_event(Job *job, ufunc_T *callback,
|
||||
}, !disable_job_defer);
|
||||
}
|
||||
|
||||
static void on_job_stdout(RStream *rstream, RBuffer *buf, void *job, bool eof)
|
||||
static void on_job_stdout(Stream *stream, RBuffer *buf, void *job, bool eof)
|
||||
{
|
||||
TerminalJobData *data = job_data(job);
|
||||
on_job_output(rstream, job, buf, eof, data->on_stdout, "stdout");
|
||||
on_job_output(stream, job, buf, eof, data->on_stdout, "stdout");
|
||||
}
|
||||
|
||||
static void on_job_stderr(RStream *rstream, RBuffer *buf, void *job, bool eof)
|
||||
static void on_job_stderr(Stream *stream, RBuffer *buf, void *job, bool eof)
|
||||
{
|
||||
TerminalJobData *data = job_data(job);
|
||||
on_job_output(rstream, job, buf, eof, data->on_stderr, "stderr");
|
||||
on_job_output(stream, job, buf, eof, data->on_stderr, "stderr");
|
||||
}
|
||||
|
||||
static void on_job_output(RStream *rstream, Job *job, RBuffer *buf, bool eof,
|
||||
static void on_job_output(Stream *stream, Job *job, RBuffer *buf, bool eof,
|
||||
ufunc_T *callback, const char *type)
|
||||
{
|
||||
if (eof) {
|
||||
|
Reference in New Issue
Block a user