Commit Graph

42 Commits

Author SHA1 Message Date
Max Romanov e501c74ddc Introducing websocket support in router and libunit. 2019-08-20 16:31:53 +03:00
Igor Sysoev d4ccaae900 Initial routing implementation. 2019-02-27 16:41:11 +03:00
Valentin Bartenev 6cc4080af2 Removed unused "--upstream" command line option. 2018-10-23 18:55:16 +03:00
Valentin Bartenev 029c1a9f50 Renamed "go" application type to "external".
There's nothing specific to Go language.  This type of application object can
be used to run any external application that utilizes libunit API.
2018-10-09 17:53:31 +03:00
Valentin Bartenev 8d844bc2aa Controller: certificates storage interface. 2018-09-20 15:27:08 +03:00
Igor Sysoev 96cd68b340 Added SSL/TLS support on connection level. 2018-09-20 15:05:37 +03:00
Max Romanov 1bb22d1e92 Unit application library.
Library now used in all language modules.
Old 'nxt_app_*' code removed.

See src/test/nxt_unit_app_test.c for usage sample.
2018-08-06 17:27:33 +03:00
Igor Sysoev 7e41f9d108 Refactored thread ID functions.
nxt_thread_tid() was moved to src/nxt_thread.c
nxt_thread_get_tid() was moved to src/nxt_thread_id.h.
src/nxt_thread_id.c was removed.
2018-07-27 16:53:26 +03:00
Valentin Bartenev 07b554c2b4 Configure scripts cleanup.
Thanks to 洪志道 (Hong Zhi Dao).
2018-04-11 18:29:48 +03:00
Igor Sysoev 9a6d3c5775 HTTP keep-alive connections support. 2017-12-28 16:01:06 +03:00
Max Romanov 630ec3f1ec Using compiler capability to generate dependencies.
This closes #58 issue on GitHub.
2017-12-01 16:28:06 +03:00
Andrey Zelenkov 78a77c3e38 Tests: move existing tests to "src" folder. 2017-11-21 18:55:28 +03:00
Valentin Bartenev 096562c0b1 Improved applications versions handling. 2017-10-05 16:46:18 +03:00
Valentin Bartenev 45c1d41f34 Removed fibers from compilation.
It's not used anyway, but breaks building with musl.

This closes issue #5 on GitHub.
2017-09-22 16:42:42 +03:00
Igor Sysoev cdc7e4479f Lib unit tests have been renamed to tests. 2017-08-30 00:31:02 +03:00
Max Romanov 92f3b85298 The process type enum exposed to go module. 2017-08-29 14:18:00 -07:00
Igor Sysoev 9d487df10d The master process has been renamed to the main process. 2017-08-29 02:59:35 +03:00
Igor Sysoev b84aa64dcb Removed configure option --no-threads. 2017-08-24 17:43:32 +03:00
Igor Sysoev 949548da29 The new module configuration interface.
Configuration and building example:

  ./configure
  ./configure python
  ./configure php
  ./configure go
  make all

or

  ./configure
  make nginext
  ./configure python
  make python
  ./configure php
  make php
  ./configure go
  make go

Modules configuration options and building examples:

  ./configure python --module=python2 --config=python2.7-config
  make python2

  ./configure php --module=php7 --config=php7.0-config
                  --lib-path=/usr/local/php7.0
  make php7

  ./configure go --go=go1.6 --go-path=${HOME}/go1.6
  make go1.6
2017-08-17 21:47:19 +03:00
Max Romanov f2e9afdf42 Port RPC interface introduced.
Usage:
1. Register handlers in incoming port with nxt_port_rpc_register_handler().
2. Use return value as a stream identifier for next nxt_port_socket_write().
2017-08-02 13:14:31 +03:00
Valentin Bartenev 842aa9ab46 Configuration: basic validation of schema. 2017-07-05 18:44:43 +03:00
Valentin Bartenev 53074c3b29 Configuration: reduced names of structures, functions, and macros. 2017-06-28 18:56:33 +03:00
Max Romanov 0cd9521687 Store pointer to shared memory start in buf->parent.
nxt_port_mmap_t stored in arrays and it is unsafe to store
pointer to array element.

Shared memory structures and macros moved to separate header
file to be used by GO package.
2017-06-23 19:20:04 +03:00
Max Romanov 0fdcdde6c8 lvlhash for ports moved to separate files for future re-use. 2017-06-23 19:19:41 +03:00
Igor Sysoev f888a5310c Using new memory pool implementation. 2017-06-20 19:49:17 +03:00
Igor Sysoev b1b9f621a4 Memory pools refactoring. 2017-06-19 16:26:19 +03:00
Igor Sysoev 7574c64992 nxt_event_conn_... functions and structures have been renamed
to nxt_conn_...
2017-06-14 15:18:52 +03:00
Igor Sysoev 5bc011afad Skeleton of router configuration and request processing. 2017-05-31 15:26:45 +03:00
Max Romanov f7b4bdfd89 Using shared memory to send data via nxt_port.
Usage:
    b = nxt_port_mmap_get_buf(task, port, size);
    b->mem.free = nxt_cpymem(b->mem.free, data, size);
    nxt_port_socket_write(task, port, NXT_PORT_MSG_DATA, -1, 0, b);
2017-05-12 20:32:41 +03:00
Valentin Bartenev bf401fa544 JSON parsing in controller. 2017-04-10 17:06:22 +03:00
Igor Sysoev 612c083579 Fixed unit tests building broken by the previous commit. 2017-03-14 15:09:17 +03:00
Igor Sysoev 6f2c9acd18 Processes refactoring.
The cycle has been renamed to the runtime.
2017-03-09 18:03:27 +03:00
Valentin Bartenev 4df646a258 HTTP parser. 2017-03-01 15:29:18 +03:00
Valentin Bartenev fde4d18e3a Removed legacy HTTP parser. 2017-03-01 15:17:55 +03:00
Igor Sysoev b379dae85e Port changes. 2017-02-22 15:10:28 +03:00
Igor Sysoev 029942f4eb I/O operations refactoring. 2017-02-22 15:09:59 +03:00
Igor Sysoev 059a864289 Event engines refactoring. 2017-02-07 20:04:56 +03:00
Igor Sysoev e57b95a923 Process channels have been renamed to ports. 2017-02-01 20:03:45 +03:00
Igor Sysoev bb87fa11ca nxt_event_timer has been renamed to nxt_timer. 2017-01-30 16:47:50 +03:00
Igor Sysoev ba0391577b Work queues refactoring. 2017-01-27 11:35:11 +03:00
Igor Sysoev de532922d9 Introducing tasks. 2017-01-23 19:56:03 +03:00
Igor Sysoev 16cbf3c076 Initial version. 2017-01-17 20:00:00 +03:00