aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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
|
* circle ci: add workflows for linux clang and gcc buildsLiam Staskawicz2018-03-12
|
* Bump to 0.6.00.6.0Garrett D'Amore2018-03-10
|
* Minor wording fix in nngcat(1).Garrett D'Amore2018-03-10
|
* fixes #276 decouple NNG and zerotier definitionsGarrett D'Amore2018-03-10
|
* Eliminate copious whitespace in code blocks.Garrett D'Amore2018-03-10
| | | | | The comments had way too much leading whitespace. While this looks fine in PDF and HTML, it's pretty ugly on most ereaders.
* Reference leanpub, and relax some of our language about prod use.Garrett D'Amore2018-03-09
|
* Add nng_msg_get_pipe, nng_msg_set_pipe, and nng_pipe_getopt docs.Garrett D'Amore2018-03-09
|
* Automatic index generation.Garrett D'Amore2018-03-09
|
* Fix incorrect reference for nng_msg_dup (was nng_msg_len)Garrett D'Amore2018-03-09
|
* Rewrite unfinished paragraph at the end of OPTIONS.Garrett D'Amore2018-03-09
|
* fixes #272 pollfd test fails on AppVeyorGarrett D'Amore2018-03-08
|
* Fix a number of broken links.Garrett D'Amore2018-03-07
| | | | | | There are still some busted links that have to be fixed, but these are the ones that are just typos or trivially fixed. There is of course some content still missing.
* Markup fix (found when staring at epub).Garrett D'Amore2018-03-07
|
* fixes #269 nngcat unreliable with ZeroTier transportGarrett D'Amore2018-03-07
| | | | | | | | | | | | | | | | | | | | This does a few things. First it closes a case where a dropped message could prevent subsequent connection attempts from getting through. Second, it changes the rate at which we retry, and the timeout, to be a lot more aggressive when attempting to establish a connection. We retry every 500 ms, for up to 2 minutes, before giving up. This gives a lot more resilience in the face of message loss that is typical of ZeroTier in some environments when first establishing communication. Third, makes the values for the connection attempts *tunable*, so that applications can adjust for different deployment scenarios. Fourth, it includes the ability to get the UDP socket name. This was needed during some debug, and may be useful for a real UDP transport later, so we're keeping it. Finally, we added documentation for the above items.
* Minor formatting fix for network status table.Garrett D'Amore2018-03-07
|
* ci: dump failure details on test failureLiam Staskawicz2018-03-07
|
* Add some man pages (alloc, free, version).Garrett D'Amore2018-03-05
|