summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Bump version to 0.5.0.0.5.0Garrett 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
|
* ipc: more robust initLiam Staskawicz2018-03-02
|
* kqueue: add kqueue-based pollq implementationLiam Staskawicz2018-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.
* fixes #250 nngcat may not build if protocols are missingGarrett D'Amore2018-02-28
|
* fixes #246 Need nngcat man pageGarrett D'Amore2018-02-28
|
* nng listen option tries to dial instead.Garrett D'Amore2018-02-28
|
* fixes #240 nngcat is MIAGarrett D'Amore2018-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is intended to provide compatibility with, and has been tested against, legacy nanocat. There are a few differences though. At this time support for the alias names (where argv[0] is set to something like nngreq or somesuch) is missing. By default this library operations without NNG_FLAG_NONBLOCK on dial and listen, so that failures here are immediately diagnosable. (This behavior can be changed with the --async flag.) By default --pair means PAIRv1, but you can specify --pair0 or --pair1 explicitly. (There is also a --compat mode, and in that mode --pair means PAIRv0. The --compat mode also turns on NNG_FLAG_NONBLOCK by default.) The "quoted" mode also quotes tabs. (Legacy nanocat did not.) It is possible to connect to *multiple* peers by using the --dial or --listen (or similar) options multiple times. Shorthands can be used for long options that are not ambiguous. For example, --surv can be used to mean surveyor, but --re is invalid because it can mean req, rep, or respondent. We assume you have a reasonable standard C environment. This won't work in embedded environments without support for FILE *. TLS options are missing but to be added soon. A man page is still to be written.
* Windows IPC connection timer still thinks its usec.Garrett D'Amore2018-02-26
| | | | | | We changed the timers to use msec granularity, but we missed this one. The result is that in certain code flows the IPC connection times can look quite long -- with weird 10 sec stalls.
* Hang in concurrent IPC connection close.Garrett D'Amore2018-02-26
| | | | | | ConnectNamedPipe can return ERROR_PIPE_CONNECTED, and does not enqueue a completion packet if it does. So we need to handle that specially.
* Add a note that the AIO callback must not block.Garrett D'Amore2018-02-26
|
* Fix version loading.Garrett D'Amore2018-02-26
|
* Fix incorrect section numbers.Garrett D'Amore2018-02-25
|
* More man page reorganization.Garrett D'Amore2018-02-25
| | | | | | Man pages need special handling, and we can have other kinds of documentation like initial starting guides, etc., which would have different processing applied. So lets move them off into their own directory.
* Better way to handle copyright.Garrett D'Amore2018-02-25
| | | | | | | | We move the copyright info along with trademark info to the refman layout. The source files still have their own inline copyright (now in correct readable form). This leads towards being able to generate that master reference manual.
* Remove some attribute declarations, use build scripts.Garrett D'Amore2018-02-23
| | | | | | | | | This is phase 1. We still have the copyright text in place for now, but I intend to replace that too. The reason for this is to facilitate efforts to build a larger reference manual as a single PDF book file. The other problem I have to solve is the fact that man page chapters wind up creating page breaks, which is not desirable for a book form.
* Supply reference manual information.Garrett D'Amore2018-02-23
|
* Move compatibility header so that <nanomsg/nn.h> works.Garrett D'Amore2018-02-23
| | | | | | Basically, we have moved the compat stuff into a separate directory. Compatibility layer users will have to update their compile flags, but should be able to avoid changing any *source* files with this change.
* Updated rationale to reflect current state, improved markup.Garrett D'Amore2018-02-23
|
* Fix compilation of perf tool (broken by modularity changes.)Garrett D'Amore2018-02-22
|
* Add nng_opts_parse() API for handling command line options.Garrett D'Amore2018-02-22
| | | | | | | | | | | We have implemented this alternative to getopt() so that we can create nngcat. The reason we did not just use getopt() is that getopt() does not understand long options (which nanocat uses, and we want to preserve for compatibility) and getopt() is not available on Windows (and possibly other non-POSIX platforms.) This function handles long and short options, but does not have support for option clustering. It also is threadsafe & reentrant, unlike getopt.
* Add nng_send and nng_recv man pages.Garrett D'Amore2018-02-22
|
* Added pipeline references, adjusted markup for consistency.Garrett D'Amore2018-02-22
|
* Add actual copyright holders to the license (required per MIT text).Garrett D'Amore2018-02-22
|
* Modularize HTTP headers somewhat.Garrett D'Amore2018-02-21
| | | | | | We move the HTTP definitions out of the core nng.h and into a supplemental header. Most of this change was trivial updates to all of the HTTP related manual pages.
* CMake & CPack improvements.Garrett D'Amore2018-02-21
| | | | | | | | | These are incremental updates... we avoid using install() in the subdirectories, so that we can adapt properly to them in the single parent directory. We have started some of the work to improve support for CPack. This is still not yet done, but work in progress.
* Fixes for POSIX pollq structure.Garrett D'Amore2018-02-21
| | | | | | | | | | | | | | It was possible for pollq arm to be called on a node that was removed in some circumstances -- particularly and ep that was closed in the callback. While here, lets use normal booleans for closed state, and only call the arm function (which is not free -- typicall it involves a mutex and may even involve a system call) if we are going to arm some events. We also initialize these things properly, and clean up a stale comment. This work is done to faciliate the kqueue work by @liamstask.
* Fix incorrect cross reference.Garrett D'Amore2018-02-21
|
* Introduce 'porting layer' Public API.Garrett D'Amore2018-02-20
| | | | | | | This introduces portable primitives for time, random numbers, synchronization primitives, and threading. These are somewhat primitive (least common denominiators), but they can help with writing portable applications, especially our own demo apps.
* fixes #238 REP0 documention is unclearGarrett D'Amore2018-02-19
|
* Add dialer documentation.Garrett D'Amore2018-02-16
|
* Fix nng_listen_start to add NNG_FLAG_NONBLOCK.Garrett D'Amore2018-02-16
|
* Add nng_listen* man pages.Garrett D'Amore2018-02-16
|
* Minor markup fixes for TLS pages.Garrett D'Amore2018-02-15
|
* Simply posix pollq architecture somewhat.Garrett D'Amore2018-02-15
| | | | | | | | | | This change is being made to facilitate the work done for the kqueue port. We have created two new functions, nni_posix_pollq_init and nni_posix_pollq_fini, which can be used when creating or destroying the pollq nodes. Then nodes are *added* and *removed* from the pollq structure with nni_posix_pollq_add and nni_posix_pollq_remove. The add function in particular MUST NEVER be called unless the node has a valid file descriptor.
* fixes #234 Investigate enabling more verbose compiler warningsGarrett D'Amore2018-02-14
| | | | | | | We enabled verbose compiler warnings, and found a lot of issues. Some of these were even real bugs. As a bonus, we actually save some initialization steps in the compat layer, and avoid passing some variables we don't need.
* Use POSIX compliant shell syntax.Garrett D'Amore2018-02-14
|
* Backout #224 Does not work in CI, and breaks legacy compatibility.Garrett D'Amore2018-02-08
| | | | | | | It turns out that at least on some systems, the CreateNamedPipeW does not behave as we'd expect. Furthermore, using the Unicode variants seems have a negative impact on compatibility with legacy nanomsg.
* fixes #171 Refactor aio to use generic data fieldsGarrett D'Amore2018-02-08
| | | | | | | | This addresses the use of the pipe special field, and eliminates it. The message APIs (recvmsg, sendmsg) need to be updated as well still, but I want to handle that as part of a separate issue. While here we fixed various compiler warnings, etc.
* Add reqrep demo, but demonstrate zero copy, and sending binary data.Garrett D'Amore2018-02-08
|
* fixes #224 Windows pipe name restrictions, unicodeGarrett D'Amore2018-02-07
| | | | While here, we cleaned up a few other unused variables in the HTTP code.
* Introduce simple HTTP client demo application.Garrett D'Amore2018-02-07
|
* HTTP public API should initialize the library.Garrett D'Amore2018-02-07
|
* Add documentation for HTTP client API.Garrett D'Amore2018-02-07
|
* fixes #231 Need nng_aio_finish routineGarrett D'Amore2018-02-06
|
* Document HTTP server API completely.Garrett D'Amore2018-02-06
|
* Inital swag at HTTP handler docs.Garrett D'Amore2018-02-05
| | | | | We will need to document nng_aio_set_output, and both document and create an nng_aio_finish() function.
* Document nng_aio_xxx asynchronous I/O API.Garrett D'Amore2018-02-05
|