aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Tuning zt transport pingJanjaap Bos2019-04-07
| | | | | | There is quite some package loss, which I will pursue later (in nng / zerotier). For now it helps to tune these settings to keep the peer relations.
* fixes #815 Eliminate socket filters on message queuesGarrett D'Amore2019-03-13
| | | | | | | This also eliminates the enforcement of NNG_OPT_RECVMAXSZ for inproc, which never really made much sense. This helps inproc go faster. While here, also clean up the entry point for protocols to support a drain option, since we don't use that anywhere.
* fixes #907 WebSocket ephemeral port cannot be reusedGarrett D'Amore2019-03-13
|
* nng_msg_dup correctly duplicates pipe (mentioned in #862)Jake Woltersdorf2019-03-12
|
* fixes #905 Small typo. error in HTTP msgGarrett D'Amore2019-03-09
|
* fix zt_pipe_getoptJanjaap Bos2019-03-08
| | | | nni_getopt needs extra var
* Add stream.*_get_string implementationJake Woltersdorf2019-03-03
|
* fixes #461 Context support for SUBGarrett D'Amore2019-02-26
| | | | | | | | | | | | | | | | | | fixes #762 Pub/Sub very slow compared with nanomsg This introduces contexts for SUB, and converts both the cooked SUB and PUB protocols to use a new lightweight message queue that has significant performance benefits over the heavy-weight message queue. We've also added a test program, pubdrop, in the perf directory, which can be used for measuring pub/sub message rates and drop rates. Note that its quite easy to overwhelm a subscriber still. The SUB socket performance is still not completely where it needs to be. There are two remainging things to improve. Firsst we need to replace the naive linked list of topics with a proper PATRICIA trie. Second, we need to work on the low level POSIX poller code. (The Windows code is already quite good, and we outperform nanomsg on Windows.)
* fixes #894 nng_pipe_notify could use nng_pipe_ev typedef instead of intJake Woltersdorf2019-02-24
| | | | - Update nng_pipe_notify manpage including copyright
* fixes #892 remove statistics from message queuesGarrett D'Amore2019-02-23
|
* fixes #890 Windows mingw interlocked exchange not quite rightGarrett D'Amore2019-02-23
|
* fixes #848 server hang waiting for client handshakeGarrett D'Amore2019-02-23
| | | | | | | | | | | | | | | | | | | | | | | fixes #698 Need TCP stats fixes #699 Need IPC stats fixes #701 Need TLS stats This commit addresses a problem when negotiating using one of the stream based negotiation APIs -- a slow or misbehaving peer can prevent well behaved ones from establishing a connection. The fix is a fairly significant change in how these transports link up, and it does rely on the fact that the socket only has a single accept() or connect() pending at a time (on a given endpoint that is). While here, we have completely revamped the way transport statistics are done, offering a standard API for collecting these statistics. Unfortunately, this completely borks the statistics for inproc. As we are planning to change the way inproc works soon, in order to provide more control and work on performance fixes for the message queue, we feel this is an acceptable trade-off. Furthermore, almost nobody uses inproc for anything, and even fewer people are making use of the statistics at this time.
* fixes #891 Need to handle more getaddrinfo() error codesGarrett D'Amore2019-02-23
|
* fixes #869 nng_http_handler_set_tree fails match if path is /Garrett D'Amore2019-02-17
|
* fixes #821 http_server crash when using url without hostnameGarrett D'Amore2019-02-17
|
* fixes #882 websocket stream mode doesn't copy received dataGarrett D'Amore2019-02-17
|
* fixes #857 NNG_OPT_REQ_RESENDTIME does not honor NNG_DURATION_INFINITEGarrett D'Amore2019-02-17
|
* fixes #871 panic when sharing rep between threadsGarrett D'Amore2019-02-17
|
* fixes #879 Desire NNG_OPT_TCP_BOUND_PORTGarrett D'Amore2019-02-16
| | | | | | We also have made some support changes, including new APIs for printing URLs, and some improvements to the NNG_OPT_URL to make use of this new property.
* fixes #872 create unified nng_stream APIGarrett D'Amore2019-02-16
| | | | | | | | | This is a major change, and includes changes to use a polymorphic stream API for all transports. There have been related bugs fixed along the way. Additionally the man pages have changed. The old non-polymorphic APIs are removed now. This is a breaking change, but the old APIs were never part of any released public API.
* Fix bug #868Alexander Pickering2019-02-15
| | | | | | Define a InterlockedAddNoFence64() function using gcc's atomics on mingw(32|64) (https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html)
* fixes #853 Move IPC options to nng.hGarrett D'Amore2019-01-06
|
* fixes #839 TCP listener_start API should use constant sockaddrGarrett D'Amore2019-01-06
|
* fixes #847 Define public TLS APIGarrett D'Amore2019-01-06
|
* fixes #852 Eliminate pipe p_options and use new style getoptGarrett D'Amore2019-01-06
|
* fixes #849 TCP option handling not quite rightGarrett D'Amore2019-01-05
|
* fixes #841 Calling nng_stats_get() before creating socket panicsGarrett D'Amore2019-01-01
| | | | | While here fixed a spelling error in the description of the global statistics structure.
* fixes #842 remove the cmake handing for source_groupGarrett D'Amore2019-01-01
|
* fixes #825 TCP public API should use generic setopt/getoptGarrett D'Amore2018-12-31
| | | | | | | | | | | | This changes much of the internal API for TCP option handling, and includes hooks for some of this in various consumers. Note that the consumers still need to have additional work done to complete them, which will be part of providing public "raw" TLS and WebSocket APIs. We would also like to finish addressing the call sites of nni_tcp_listener_start() that assume the sockaddr is modified -- it would be superior to use the NNG_OPT_LOCADDR option. Thaat will be addressed in a follow up PR.
* fixes #835 inproc should use new option APIGarrett D'Amore2018-12-31
| | | | | Some more changes to use nni_type instead of nni_opt_type are included as well.
* fixes #834 Simplify IPC internal API & updateGarrett D'Amore2018-12-31
| | | | | This also makes some smaller related changes to use the new nni_type instead of nni_opt_type.
* progress on IPC endpointsGarrett D'Amore2018-12-29
|
* IPC option rework (pipe/conn) to reduce code duplication.Garrett D'Amore2018-12-29
|
* fixes #831 Unify option structures, o_type is unusedGarrett D'Amore2018-12-29
|
* fixes #823 Define public IPC (#824)Garrett D'Amore2018-12-22
| | | | | | | This introduces a basic IPC API, modeled on the TCP API, for direct access. Only connection options are exposed at present -- we need to add options for dialers and listeners (and particularly listener settings for permissions and security attributes.) Documentation is still outstanding, but a very limited test suite exists.
* Remove some compilation warnings (cannot return in void func).Garrett D'Amore2018-12-20
|
* Allow recv_maxsize to be set after calling listen() on listener. (#747)Cody Piersall2018-12-16
| | | | fixes #724 set recvmaxsize after listen for tcp.
* fixes #769 How to limit worker threadsMatt Gigli2018-12-16
| | | | | * Expose cmake variable to set number of DNS resolver threads: NNG_RESOLV_CONCURRENCY * Expose cmake variable to set number of taskq threads: NNG_NUM_TASKQ_THREADS
* fixes #812 message queue put_error unusedGarrett D'Amore2018-12-11
|
* The toplevel sets threads already, not needed here. (#810)Cody Piersall2018-12-11
| | | | | | * The toplevel sets threads already, not needed here. * Don't overwrite NNG_LIBS list.
* fixes #800 sockimpl.h and posix_aio.h missing in build systemGarrett D'Amore2018-11-27
|
* fixes #680 Public TCP APIGarrett D'Amore2018-11-27
|
* fixes #799 Compile error on Windows with disabled statsGarrett D'Amore2018-11-23
|
* move all public headers to include/nng/ folderGregor Burger2018-11-22
| | | | | | | | | | This change makes embedding nng + nggpp (or other projects depending on nng) in cmake easier. The header files are moved to a separate include directory. This also makes installation of the headers easier, and allows clearer identification of private vs public heade files. Some additional cleanups were performed by @gedamore, but the main credit for this change belongs with @gregorburger.
* Prep for NNG 1.1.1.v1.1.1Garrett D'Amore2018-11-21
|
* Allow nng to be consumed in "add_subdirectory" scenariosGregor Burger2018-11-19
|
* fixes #789 Websocket ping request crashBertrand2018-11-17
|
* fixes #794 nng bug report URL wrongGarrett D'Amore2018-11-16
|
* Update the minor and patch versionsNathan Kent2018-11-14
|
* fixes #782 stat namespace collision on QNXGarrett D'Amore2018-11-09
|