diff --git a/extra/exports b/extra/exports index 22439ee69f1bbaea585897b8f0dc526fe9e9e4b7..98fc8f1b92918d00a7266b81f39c2e82fcfd081d 100644 --- a/extra/exports +++ b/extra/exports @@ -636,3 +636,13 @@ lcpipe_flush_input lcpipe_new lcpipe_push lcpipe_push_now + +# picodata postgres protocol +plain_iostream_create +iostream_close +coio_readn_ahead +coio_read_ahead_timeout +coio_write_timeout + +fiber_set_name_n +authenticate diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9404c7f4a0d2cce56df55fa03b2494d380596dd4..fbf86da62d8bbf44197e1707a24d001018f1a5d1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -252,11 +252,15 @@ set(api_headers ${PROJECT_SOURCE_DIR}/src/lib/core/say.h ${PROJECT_SOURCE_DIR}/src/lib/core/fiber.h ${PROJECT_SOURCE_DIR}/src/lib/core/fiber_cond.h + ${PROJECT_SOURCE_DIR}/src/lib/core/iostream.h + ${PROJECT_SOURCE_DIR}/third_party/libev/ev.h + ${PROJECT_SOURCE_DIR}/third_party/tarantool_ev.h ${PROJECT_SOURCE_DIR}/src/lib/core/coio.h ${PROJECT_SOURCE_DIR}/src/lib/core/coio_task.h ${PROJECT_SOURCE_DIR}/src/box/ibuf.h ${PROJECT_SOURCE_DIR}/src/lua/utils.h ${PROJECT_SOURCE_DIR}/src/lua/error.h + ${PROJECT_SOURCE_DIR}/src/box/authentication.h ${PROJECT_SOURCE_DIR}/src/box/txn.h ${PROJECT_SOURCE_DIR}/src/box/tuple.h ${PROJECT_SOURCE_DIR}/src/box/key_def.h @@ -273,6 +277,7 @@ set(api_headers ${PROJECT_SOURCE_DIR}/src/lib/core/clock.h ${PROJECT_SOURCE_DIR}/src/box/decimal.h ${PROJECT_SOURCE_DIR}/src/lua/decimal.h + ${PROJECT_SOURCE_DIR}/src/lib/core/random.h ${EXTRA_API_HEADERS} ) rebuild_module_api(${api_headers}) diff --git a/src/box/authentication.h b/src/box/authentication.h index a843a1b8cfd31d48dbeaef396789000cf2dbdd0d..c1f9ae86e5da91ed3ef47bd80d02c8a5ade7b709 100644 --- a/src/box/authentication.h +++ b/src/box/authentication.h @@ -222,6 +222,8 @@ bool authenticate_password(const struct authenticator *auth, const char *password, int password_len, const char *user); +/** \cond public */ + /** * Authenticates a user. * @@ -243,6 +245,8 @@ int authenticate(const char *user_name, uint32_t user_name_len, const char *salt, const char *tuple); +/** \endcond public */ + /** * Checks if an authentication method may be used over an IO stream. * diff --git a/src/lib/core/coio.h b/src/lib/core/coio.h index ede6d262430309dbd3d5a18960dbc2eb45e45170..321ef76b187baebe28fd255ba404ad675b7a3743 100644 --- a/src/lib/core/coio.h +++ b/src/lib/core/coio.h @@ -59,10 +59,14 @@ int coio_accept(int sfd, struct sockaddr *addr, socklen_t addrlen, ev_tstamp timeout); +/** \cond public */ + ssize_t coio_read_ahead_timeout(struct iostream *io, void *buf, size_t sz, size_t bufsiz, ev_tstamp timeout); +/** \endcond public */ + static inline void coio_timeout_init(ev_tstamp *start, ev_tstamp *delay, ev_tstamp timeout) @@ -76,6 +80,8 @@ coio_timeout_update(ev_tstamp *start, ev_tstamp *delay) return evio_timeout_update(loop(), start, delay); } +/** \cond public */ + /** * Reat at least sz bytes, with readahead. * @@ -108,6 +114,8 @@ coio_readn(struct iostream *io, void *buf, size_t sz) return coio_readn_ahead(io, buf, sz, sz); } +/** \endcond public */ + ssize_t coio_readn_ahead_timeout(struct iostream *io, void *buf, size_t sz, size_t bufsiz, ev_tstamp timeout); @@ -118,6 +126,8 @@ coio_readn_timeout(struct iostream *io, void *buf, size_t sz, ev_tstamp timeout) return coio_readn_ahead_timeout(io, buf, sz, sz, timeout); } +/** \cond public */ + ssize_t coio_write_timeout(struct iostream *io, const void *buf, size_t sz, ev_tstamp timeout); @@ -128,6 +138,8 @@ coio_write(struct iostream *io, const void *buf, size_t sz) coio_write_timeout(io, buf, sz, TIMEOUT_INFINITY); } +/** \endcond public */ + ssize_t coio_writev_timeout(struct iostream *io, struct iovec *iov, int iovcnt, size_t size, ev_tstamp timeout); diff --git a/src/lib/core/fiber.h b/src/lib/core/fiber.h index 0376735196870e659483d6d7787ada34d2a9d707..c3f80686a8ac58b1ec0661a698d090bd96910196 100644 --- a/src/lib/core/fiber.h +++ b/src/lib/core/fiber.h @@ -970,6 +970,8 @@ fiber_signal_reset(void); void fiber_set_name(struct fiber *fiber, const char *name); +/** \cond public */ + /** * Set fiber name providing a length for it. * @param fiber Fiber to set name for. @@ -979,6 +981,8 @@ fiber_set_name(struct fiber *fiber, const char *name); void fiber_set_name_n(struct fiber *fiber, const char *name, uint32_t len); +/** \endcond public */ + static inline const char * fiber_name(struct fiber *f) { diff --git a/src/lib/core/iostream.h b/src/lib/core/iostream.h index 822d0c8d4c592414d1f27048c73a143a8ba73b06..760c6912310c349b0739629bb8c96ead475d365d 100644 --- a/src/lib/core/iostream.h +++ b/src/lib/core/iostream.h @@ -106,6 +106,8 @@ struct iostream_vtab { (*writev)(struct iostream *io, const struct iovec *iov, int iovcnt); }; +/** \cond public */ + /** * An IO stream implements IO operations over a file descriptor. * Can be used to add some data processing transparently to the user. @@ -175,6 +177,8 @@ plain_iostream_create(struct iostream *io, int fd); void iostream_close(struct iostream *io); +/** \endcond public */ + /** * Destroys a stream without closing fd. The stream fd is set to -1. */ diff --git a/src/lib/core/random.h b/src/lib/core/random.h index 66ef70f2f225bb8fb30c5396b3fab142f7f621bf..6183de74815ff3b91b5625a09b135fb2d865729d 100644 --- a/src/lib/core/random.h +++ b/src/lib/core/random.h @@ -43,9 +43,13 @@ random_init(void); void random_free(void); +/** \cond public */ + void random_bytes(char *buf, size_t size); +/** \endcond public */ + /** * Just 8 random_bytes(). */ diff --git a/src/module_header.h b/src/module_header.h index 017ea05ec37e860fc69348a304e933ad2fe06e10..e19ee797fa74c5138a81bcc79752f68662f5b7b7 100644 --- a/src/module_header.h +++ b/src/module_header.h @@ -43,6 +43,7 @@ #include <stdbool.h> #include <stdio.h> /* ssize_t for Apple */ #include <sys/types.h> /* ssize_t */ +#include <assert.h> #if defined(__cplusplus) extern "C" { diff --git a/third_party/libev/ev.h b/third_party/libev/ev.h index 54a8bc0d69fb4fd55f23111225fd915b80937174..97151d4c60ecfa909a05fa7588cff95e03de0ca5 100644 --- a/third_party/libev/ev.h +++ b/third_party/libev/ev.h @@ -156,11 +156,15 @@ EV_CPP(extern "C" {) /*****************************************************************************/ +/** \cond public */ + #ifndef EV_TSTAMP_T # define EV_TSTAMP_T double #endif typedef EV_TSTAMP_T ev_tstamp; +/** \endcond public */ + #include <string.h> /* for memmove */ #ifndef EV_ATOMIC_T @@ -875,4 +879,3 @@ EV_API_DECL void ev_async_send (EV_P_ ev_async *w) EV_NOEXCEPT; EV_CPP(}) #endif - diff --git a/third_party/tarantool_ev.h b/third_party/tarantool_ev.h index 2ed031f8d68606289883b55c0a19791baf902d73..53efb6f0e8e22e36bfb039911f25a4741f69a1b0 100644 --- a/third_party/tarantool_ev.h +++ b/third_party/tarantool_ev.h @@ -63,8 +63,12 @@ extern "C" { #endif /* defined(__cplusplus) */ +/** \cond public */ + extern const ev_tstamp TIMEOUT_INFINITY; +/** \endcond public */ + typedef void (*ev_io_cb)(ev_loop *, ev_io *, int); typedef void (*ev_async_cb)(ev_loop *, ev_async *, int);