summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Bump version to 0.8.0.0.8.0Garrett D'Amore2018-04-12
|
* fixes #341 Want REST API gateway demoGarrett D'Amore2018-04-11
|
* We need to declare the TLS structure here.Garrett D'Amore2018-04-11
| | | | | Applications which may not even be using TLS should not have to know about the TLS configuration structure.
* Minor format fix for raw mode header.Garrett D'Amore2018-04-11
|
* Update doc with information about contexts.Garrett D'Amore2018-04-10
|
* fixes #338 possible SIGPIPE on LinuxGarrett D'Amore2018-04-10
|
* Fix valgrind warning in assert.Garrett D'Amore2018-04-10
| | | | | | | This technically doesn't need the lock, as we're only trying to catch a possible problem during development rather than in the field (and this should never occur), but the false positive in valgrind obscures other possible errors, so leave it in the lock.
* Eliminate possible data race on file descriptor.Garrett D'Amore2018-04-10
| | | | Turns out that shutdown is sufficient for most needs.
* Add new reqstress test.Garrett D'Amore2018-04-10
|
* fix unused variable in nngcat.Garrett D'Amore2018-04-10
|
* fixes #336 inproc queue depths are too longGarrett D'Amore2018-04-10
|
* fixes #337 compat_reqrep test too fragileGarrett D'Amore2018-04-10
|
* fixes #334 Separate context for state machines from socketsGarrett D'Amore2018-04-10
| | | | | | | | | | | | | | | This provides context support for REQ and REP sockets. More discussion around this is in the issue itself. Optionally we would like to extend this to the surveyor pattern. Note that we specifically do not support pollable descriptors for non-default contexts, and the results of using file descriptors for polling (NNG_OPT_SENDFD and NNG_OPT_RECVFD) is undefined. In the future, it might be nice to figure out how to factor in optional use of a message queue for users who want more buffering, but we think there is little need for this with cooked mode.
* fixes #335 eventfd seems unreliable on Linux (Ubuntu 17.10)Garrett D'Amore2018-04-09
|
* fixes #331 replace NNG_OPT_RAW option with constructorGarrett D'Amore2018-04-04
| | | | | | | | | | | | | This makes the raw mode something that is immutable, determined at socket construction. This is an enabling change for the separate context support coming soon. As a result, this is an API breaking change for users of the raw mode option (NNG_OPT_RAW). There aren't many of them out there. Cooked mode is entirely unaffected. There are changes to tests and documentation included.
* fixes #329 type checking not done for setoptGarrett D'Amore2018-04-04
|
* fixes #324 nni_aio_set_synch leads to race conditionGarrett D'Amore2018-04-04
| | | | | | | | fixes #325 synchronous aio completion crash fixes #327 move nni_clock() operations to outside the nni_aio_lk. This work was done for the context tree, and is necessary to properly enable that branch.
* fixes #312 idhash_walk stuff can be removedGarrett D'Amore2018-03-30
|
* fixes #323 aio's iov may be reusedGarrett D'Amore2018-03-30
|
* fixes #322 epoll implementation is racyGarrett D'Amore2018-03-30
| | | | | This uses numeric identifiers and an idhash table to make sure that the values we get back are still use.
* fixes #315 WebSocket message handling errorsGarrett D'Amore2018-03-30
| | | | | This also gives a performance benefit to WebSocket, by making the completion logic run synchronously.
* If timeout is NNG_TIME_NEVER, then simply deschedule.Garrett D'Amore2018-03-30
|
* fixes #317 TLS, TCP, and IPC should support multiple outstanding opsGarrett D'Amore2018-03-30
| | | | | | | | | | | | | | | | | | | | | | | | fixes #22 Consider using synchronous completions sometimes Transport improvements for IPC, TCP, and TLS. This change does three things. First it permits multiple outstanding receives or sends on the transport. This change is being made to accomodate some other changes in the protocols where it might be advantageous to post send or receives directly against the transport pipe without going through another level of indirection. Second, it changes the normal completions to be performed synchronously. This translates into a rather major performance improvement, reducing latency by some 27%, and thereby improving performance altogether. (This elminates two extra context switches per transaction!) FInally, we can save some extra checks and conditions because we know that completions cannot happen if we don't have a pending operation (we no longer complete out of sequence), and we only call the dosend operation when we have something to send. This can eliminate some pipeline stalls.
* fixes #316 nni_aio_set_synch() usually doesn't do anythingGarrett D'Amore2018-03-30
|
* Include a tip about service naming guidelines.Garrett D'Amore2018-03-30
|
* fixes #318 Assertion on macOS -- kevent() returns EINPROGRESS.Garrett D'Amore2018-03-30
|
* Need to create zt home for dialerJanjaap Bos2018-03-23
|
* Add documentation for supplemental functions.Garrett D'Amore2018-03-22
| | | | | | This includes platform portability stuff like mutexes and threads, etc. While here we fixed a problem with nng_opts_parse and we addressed the type of the platform API.
* Document nng_opts_parse.Garrett D'Amore2018-03-22
|
* fixes #301 String option handling for getoptGarrett D'Amore2018-03-20
|
* fixes #296 Typed options should validate option typeGarrett D'Amore2018-03-20
| | | | | | | | | | | | | fixes #302 nng_dialer/listener/pipe_getopt_sockaddr desired This adds plumbing to pass and check the type of options all the way through. NNG_ZT_OPT_ORBIT is type UINT64, but you can use the untyped form to pass two of them if needed. No typed access for retrieving strings yet. I think this should allocate a pointer and copy that out, but that's for later.
* Fixes issues found by (and submitted by) @nonnenmacher when workingVincent Nonnenmacher2018-03-19
| | | | | | | on a python wrapper (cffi). Mostly this is fixing inconsistencies in our public API and the actual implementation.
* Bump API to 0.7.0.0.7.0Garrett D'Amore2018-03-18
|
* Remove .version file -- we use git tags.Garrett D'Amore2018-03-18
|
* fixes #293 nng_listener_getopt doc needs updatingGarrett D'Amore2018-03-18
| | | | | Actually I updated all the option related documents, and fixed minor markup issues on several others.
* fixes #295 boolean options should use C99 bool typeGarrett D'Amore2018-03-18
| | | | | | | | | | | fixes #275 nng_pipe_getopt_ptr() missing? fixes #285 nng_setopt_ptr MIS fixes #297 nng_listener/dialer_close does not validate mode This change adds some missing APIs, and changes others. In particular, certain options are now of type bool, with size of just one. This is a *breaking* change for code that uses those options -- NNG_OPT_RAW, NNG_OPT_PAIR1_POLY, NNG_OPT_TLS_VERIFIED.
* Minor markup fixes.Garrett D'Amore2018-03-18
| | | | Mostly this eliminates some cases of extra backticks.
* fixes #294 rename nng_zerotier_xxx to nng_zt_xxxGarrett D'Amore2018-03-17
|
* fixes #287 remove NNG_OPT_DOMAIN, NNG_OPT_PROTOCOL, and NNG_OPT_TRANSPORTGarrett D'Amore2018-03-17
| | | | | While here we documented that certain options are not supported in the compatibility layer.
* Fixes for new doc layout.Garrett D'Amore2018-03-17
|
* fixes #286 nng_pair0_open (and all others) need man pageGarrett D'Amore2018-03-17
| | | | | | | | | | | | | | | | | | | | | | | | fixes #279 consider restructuring man sections This represents a rather significant rework, and major editing effort, for the entire set of manual pages. All of the pages now have a section number in their filename; this assists in some other tooling, particularly ebook generation as every link needs to be programmatically modified when combined into an ebook. Section 5 is introduced, and populated with pages for the main types, and all options are now documented. Numerous errors have been corrected, including rewriting certain portions such as the header section of the surveyor protocol. Much work has been done to facilitate index generation, although certainly more work remains here. Every internal link within these pages now resolves; there are no more dead links. (This is required to generate Kindle format books.)
* epoll: add epoll-based pollq implementationLiam Staskawicz2018-03-15
| | | | fixes #33
* Rx completion can run ahead of tx completion!Garrett D'Amore2018-03-14
|
* Added nng_sockaddr man page.Garrett D'Amore2018-03-14
|
* fixes #289 nng_sockaddr could just be a unionGarrett D'Amore2018-03-14
| | | | fixes #290 sockaddr improvements
* Markup changes, started adding type documentation.Garrett D'Amore2018-03-14
|
* Introduce nng_options, nng_setopt, nng_getopt manual pages.Garrett D'Amore2018-03-13
| | | | | | | | | | This starts a new section 5 for generic topics, and sets up some links for things like nng_duration and nng_socket types. There will some day be an nng_errors(5) page as well. Some initial work towards indexing terms for these pages is done now too. (Indexing will mostly be useful when generating book forms of this documentation.)
* fixes #284 want async demoGarrett D'Amore2018-03-12
|
* nng_sleep_aio should honor aio timeout.Garrett D'Amore2018-03-12
| | | | | | | | | | | | | | The first problem was that using nng_sleep_aio was found to reset the timeout, and this caused subsequent operations to start failing with timeouts when reusing the AIO for other operations. The second thing is that we think it would be nicer if the presence of real aio timeouts were still honored, so that if the timeout is shorter than the sleep time, then we get back an NNG_ETIMEDOUT like every other operation, and we get back a 0 if the logical sleep operation completes normally.
* fixes #281 desire nng_sleep_aio()Garrett D'Amore2018-03-12
|