nanonext is now considered substantially feature-complete and API-stable
$context()method added for creating new contexts from nano Objects using supported protocols (i.e. req, rep, sub, surveyor, respondent) - this replaces the
context()function for nano Objects.
unsubscribe()now accept a topic of any atomic type (not just character), allowing pub/sub to be used with integer, double, logical, complex, or raw vectors.
survey_time()gain nanoContext methods.
keep.raw = TRUE.
recv_ctx()and logging removed.
stream()interface exposes low-level byte stream functionality in the NNG library, intended for communicating with non-NNG endpoints, including but not limited to websocket servers.
ncurl()adds an ‘async’ option to perform HTTP requests asynchronously, returning immediately with a ‘recvAio’. Adds explicit arguments for HTTP method, headers (which takes a named list or character vector) and request data, as well as to specify if conversion from raw bytes is required.
messenger()function implements a multi-threaded console-based messaging system using NNG’s scalability protocols (currently as proof of concept).
nano_init()function intended to be called immediately after package load to set global options.
warnings()and flexibility in handling via setting
recv()functions, and their asynchronous counterparts
recv_aio(), are now S3 generics and can be used across Sockets, Contexts and Streams.
recv()now allows an integer value for setting a timeout.
recv_ctx()are deprecated and will be removed in a future package version - the methods for
recv()should be used instead.
logging()is now defunct.
$rawnow resolve automatically without requiring
call_aio(). Access directly and an ‘unresolved’ logical NA value will be returned if the Aio operation is yet to complete.
unresolved()added as an auxiliary function to query whether an Aio is unresolved, for use in control flow statements.
is_error_value()helper function included.
is_nul_byte()added as a helper function for request/reply setups.
survey_time()added as a convenience function for surveyor/respondent patterns.
logging()function to specify a global package logging level - ‘error’ or ‘info’. Automatically checks the environment variable ‘NANONEXT_LOG’ on package load and then each time
logging(level = "check")is called.
ncurl()adds a ‘…’ argument. Support for HTTP methods other than GET.
dial()now return (invisible) zero rather than NULL upon success for consistency with other functions.
optsto avoid clash with base R ‘options’.
nng_timer()utility as a non-essential function.
reply()functions implement the full logic of an RPC client/server, allowing processes to run concurrently on the client and server.
ncurl()minimalistic http(s) client.
nng_timer()utility as a demonstration of NNG’s multithreading capabilities.
recv(), gain a revised ‘mode’ argument.
$socket_close()method of nano objects has been renamed
$close()to better align with the functional API.