grpc
third_party
libuv
docs
code
idle-compute
libuv/docs/code/idle-compute/main.c
Go to the documentation of this file.
1
#include <stdio.h>
2
3
#include <
uv.h
>
4
5
uv_loop_t
*
loop
;
6
uv_fs_t
stdin_watcher
;
7
uv_idle_t
idler
;
8
char
buffer
[1024];
9
10
void
crunch_away
(
uv_idle_t
*
handle
) {
11
// Compute extra-terrestrial life
12
// fold proteins
13
// computer another digit of PI
14
// or similar
15
fprintf(
stderr
,
"Computing PI...\n"
);
16
// just to avoid overwhelming your terminal emulator
17
uv_idle_stop
(
handle
);
18
}
19
20
void
on_type
(
uv_fs_t
*
req
) {
21
if
(
stdin_watcher
.
result
> 0) {
22
buffer
[
stdin_watcher
.
result
] =
'\0'
;
23
printf
(
"Typed %s\n"
,
buffer
);
24
25
uv_buf_t
buf
=
uv_buf_init
(
buffer
, 1024);
26
uv_fs_read
(
loop
, &
stdin_watcher
, 0, &
buf
, 1, -1,
on_type
);
27
uv_idle_start
(&
idler
,
crunch_away
);
28
}
29
else
if
(
stdin_watcher
.
result
< 0) {
30
fprintf(
stderr
,
"error opening file: %s\n"
,
uv_strerror
(
req
->result));
31
}
32
}
33
34
int
main
() {
35
loop
=
uv_default_loop
();
36
37
uv_idle_init
(
loop
, &
idler
);
38
39
uv_buf_t
buf
=
uv_buf_init
(
buffer
, 1024);
40
uv_fs_read
(
loop
, &
stdin_watcher
, 0, &
buf
, 1, -1,
on_type
);
41
uv_idle_start
(&
idler
,
crunch_away
);
42
return
uv_run
(
loop
,
UV_RUN_DEFAULT
);
43
}
buf
voidpf void * buf
Definition:
bloaty/third_party/zlib/contrib/minizip/ioapi.h:136
printf
_Use_decl_annotations_ int __cdecl printf(const char *_Format,...)
Definition:
cs_driver.c:91
uv_strerror
const UV_EXTERN char * uv_strerror(int err)
Definition:
uv-common.c:212
uv_run
UV_EXTERN int uv_run(uv_loop_t *, uv_run_mode mode)
Definition:
unix/core.c:361
uv_fs_s::result
ssize_t result
Definition:
uv.h:1299
uv_fs_s
Definition:
uv.h:1294
python_utils.port_server.stderr
stderr
Definition:
port_server.py:51
uv_idle_stop
UV_EXTERN int uv_idle_stop(uv_idle_t *idle)
uv_default_loop
UV_EXTERN uv_loop_t * uv_default_loop(void)
Definition:
uv-common.c:733
loop
uv_loop_t * loop
Definition:
libuv/docs/code/idle-compute/main.c:5
req
static uv_connect_t req
Definition:
test-connection-fail.c:30
UV_RUN_DEFAULT
@ UV_RUN_DEFAULT
Definition:
uv.h:254
buffer
char buffer[1024]
Definition:
libuv/docs/code/idle-compute/main.c:8
uv_idle_init
UV_EXTERN int uv_idle_init(uv_loop_t *, uv_idle_t *idle)
uv_fs_read
UV_EXTERN int uv_fs_read(uv_loop_t *loop, uv_fs_t *req, uv_file file, const uv_buf_t bufs[], unsigned int nbufs, int64_t offset, uv_fs_cb cb)
Definition:
unix/fs.c:1826
uv.h
uv_buf_t
Definition:
unix.h:121
uv_idle_start
UV_EXTERN int uv_idle_start(uv_idle_t *idle, uv_idle_cb cb)
stdin_watcher
uv_fs_t stdin_watcher
Definition:
libuv/docs/code/idle-compute/main.c:6
uv_idle_s
Definition:
uv.h:824
crunch_away
void crunch_away(uv_idle_t *handle)
Definition:
libuv/docs/code/idle-compute/main.c:10
uv_buf_init
UV_EXTERN uv_buf_t uv_buf_init(char *base, unsigned int len)
Definition:
uv-common.c:157
main
int main()
Definition:
libuv/docs/code/idle-compute/main.c:34
handle
static csh handle
Definition:
test_arm_regression.c:16
uv_loop_s
Definition:
uv.h:1767
idler
uv_idle_t idler
Definition:
libuv/docs/code/idle-compute/main.c:7
on_type
void on_type(uv_fs_t *req)
Definition:
libuv/docs/code/idle-compute/main.c:20
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:17