summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAge
* Document context support for surveyor.Garrett D'Amore2018-04-24
|
* fixes #342 Want Surveyor/Respondent context supportGarrett D'Amore2018-04-24
| | | | | | | | | | | | | | | | fixes #360 core should nng_aio_begin before nng_aio_finish_error fixes #361 nng_send_aio should check for NULL message fixes #362 nni_msgq does not signal pollable on certain events This adds support for contexts for both sides of the surveyor pattern. Prior to this commit, the raw mode was completely broken, and there were numerous other bugs found and fixed. This integration includes *much* deeper validation of this pattern. Some changes to the core and other patterns have been made, where it was obvioius that we could make such improvements. (The obviousness stemming from the fact that RESPONDENT in particular is very closely derived from REP.)
* fixes #344 nn_poll() legacy API missingGarrett D'Amore2018-04-16
| | | | | | | | | | | | This includes the test from legacy libnanomsg and a man page. We have refactored the message queue notification system so that it uses nni_pollable, leading we hope to a more consistent system, and reducing the code size and complexity. We also fixed the size of the NN_RCVFD and NN_SNDFD so that they are a SOCKET on Windows systems, rather than an integer. This addresses 64-bit compilation problems.
* Fix socket option levels (compat options).Garrett D'Amore2018-04-14
|
* fixes #308 Close can blockGarrett D'Amore2018-04-14
| | | | | | | | | | | | | | | | | | | | Ultimately, this just removes the support for lingering altogether. Based on prior experience, lingering has always been unreliable, and was removed in legacy libnanomsg ages ago. The problem is that operating system support for lingering is very inconsistent at best, and for some transports the very concept is somewhat meaningless. Making things worse, we were never able to adequately capture an exit() event from another thread -- so lingering was always a false promise. Applications that need to be sure that messages are delivered should either include an ack in their protocol, use req/rep (which has an ack), or inject a suitable delay of their own. For things going over local networks, an extra delay of 100 msec should be sufficient *most of the time*.
* fixes #303 Flesh out compatible API docsGarrett D'Amore2018-04-14
|
* Minor cross reference fixes for v0.8.0.Garrett D'Amore2018-04-12
|
* Minor format fix for raw mode header.Garrett D'Amore2018-04-11
|
* Update doc with information about contexts.Garrett 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 #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 #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
|
* 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.
* 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.)
* 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.)
* 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
|
* 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.
* 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
|
* 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
|
* Add some man pages (alloc, free, version).Garrett D'Amore2018-03-05
|
* Document --zt-home option.Garrett D'Amore2018-03-05
|
* fixes #254 nngcat should have a --version optionGarrett D'Amore2018-03-02
| | | | | | We only add a basic --version (also -V). I'm still trying to figure out how to convince cmake to emit its compilation flags into a file where we can use them for output.
* Document new TLS header file.Garrett D'Amore2018-03-02
|
* Add nng_sendmsg and nng_recvmsg manual pages.Garrett D'Amore2018-03-02
|
* Add a copy of the LICENSE.adoc in the docs directory.Garrett D'Amore2018-03-02
|
* Move some docs to docs directory, add CONTRIBUTING and templates.Garrett D'Amore2018-03-02
|
* fixes #247 nngcat needs TLS optionsGarrett D'Amore2018-03-02
| | | | | | | While here we also fixed a bug in the --file handling that we noticed while writing the TLS handling. We also fixed a warning in the core (msgqueue) for set but unused variables.