Package: nanonext 1.9.1.9000

Charlie Gao

nanonext: Lightweight Toolkit for Messaging, Concurrency and the Web

R binding for NNG (Nanomsg Next Gen), a successor to ZeroMQ. A toolkit for messaging, concurrency and the web. High-performance socket messaging over in-process, IPC, TCP, WebSocket and secure TLS transports implements 'Scalability Protocols', a standard for common communications patterns including publish/subscribe, request/reply and survey. A threaded concurrency framework with intuitive 'aio' objects that resolve automatically upon completion of asynchronous operations, and synchronisation primitives that allow R to wait on events signalled by concurrent threads. A unified HTTP server hosting REST endpoints, WebSocket connections and streaming on a single port, with a built-in HTTP client.

Authors:Charlie Gao [aut, cre], Posit Software, PBC [cph, fnd], Hibiki AI Limited [cph], Staysail Systems, Inc. [cph], Capitar IT Group BV [cph], The Mbed TLS Contributors [cph], Pierre L'Ecuyer [cph], sakura authors [cph], R Consortium [fnd]

nanonext_1.9.1.9000.tar.gz
nanonext_1.9.1.9000.zip(r-4.7)nanonext_1.9.1.9000.zip(r-4.6)nanonext_1.9.1.9000.zip(r-4.5)
nanonext_1.9.1.9000.tgz(r-4.6-x86_64)nanonext_1.9.1.9000.tgz(r-4.6-arm64)nanonext_1.9.1.9000.tgz(r-4.5-x86_64)nanonext_1.9.1.9000.tgz(r-4.5-arm64)
nanonext_1.9.1.9000.tar.gz(r-4.7-arm64)nanonext_1.9.1.9000.tar.gz(r-4.7-x86_64)nanonext_1.9.1.9000.tar.gz(r-4.6-arm64)nanonext_1.9.1.9000.tar.gz(r-4.6-x86_64)
nanonext_1.9.1.9000.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
nanonext/json (API)

# Install 'nanonext' in R:
install.packages('nanonext', repos = c('https://r-lib.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/r-lib/nanonext/issues

Pkgdown/docs site:https://nanonext.r-lib.org

Uses libs:
  • mbedtls– Lightweight crypto and SSL/TLS library

On CRAN:

Conda:

concurrencyhttp-clienthttp-serveripc-messagemessaging-libraryrpcsocket-communicationsynchronization-primitivestcp-protocoltlswebsocketmbedtls

13.90 score 82 stars 187 packages 93 scripts 86k downloads 84 exports 0 dependencies

Last updated from:ba85ea0d92. Checks:13 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK177
linux-devel-x86_64OK146
source / vignettesOK176
linux-release-arm64OK176
linux-release-x86_64OK143
macos-release-arm64OK175
macos-release-x86_64OK216
macos-oldrel-arm64OK117
macos-oldrel-x86_64OK297
windows-develOK248
windows-releaseOK221
windows-oldrelOK254
wasm-releaseOK175

Exports:.advance.context.dispatcher_capacity.dispatcher_gate.dispatcher_info.dispatcher_start.dispatcher_stop.dispatcher_try_gate.dispatcher_wait.keep.mark.unresolved%~>%call_aiocall_aio_collect_aiocollect_aio_contextcvcv_resetcv_signalcv_valuedevice_aiodialformat_ssehandlerhandler_directoryhandler_filehandler_inlinehandler_redirecthandler_streamhandler_wshttp_serverip_addris_aiois_error_valueis_nanois_ncurl_sessionis_nul_bytelistenmclockmonitormsleepnanoncurlncurl_aioncurl_sessionnng_errornng_versionoptopt<-parse_urlpipe_idpipe_notifyrace_aiorandomread_monitorread_stdinreaprecvrecv_aioreplyrequestsendsend_aioserial_configsocketstatstatus_codestop_aiostop_requeststreamsubscribesurvey_timetls_configtransactunresolvedunsubscribeuntiluntil_waitwait_write_certwrite_stdout

Dependencies:

nanonext - Scalability Protocols
1. Request Reply Protocol | 2. Publisher Subscriber Protocol | 3. Surveyor Respondent Protocol | 4. Device (Broker / Proxy)

Last update: 2026-07-01
Started: 2026-02-06

nanonext - Web Toolkit
1. HTTP Client | ncurl: Basic Requests | ncurl_aio: Async Requests | Promises Integration | ncurl_session: Persistent Connections | 2. WebSocket Client | 3. Unified HTTP/WebSocket Server | Handler Types | HTTP Request Handlers | Static Content Handlers | WebSocket Handlers | HTTP Streaming Handlers | Server-Sent Events | 4. Secure Connections (TLS) | Public Internet HTTPS | Self-Signed Certificates | 5. Client Example: Shiny ExtendedTask | 6. Server Example: Quarto Site with Dynamic API

Last update: 2026-03-30
Started: 2026-02-06

nanonext - Quick Reference
Core Concepts | Key Takeaways | 1. Sockets and Connections | Create Sockets | Protocols | Transports | 2. Send and Receive | Synchronous | Receive Modes | 3. Async I/O | Basic Async | Non-blocking Patterns | 4. Condition Variables | Basics | Pipe Notifications | Async with CV | 5. Request/Reply (RPC) | Server | Client | 6. Pub/Sub | 7. Surveyor/Respondent | 8. TLS Secure Connections | Self-signed Certificates | CA Certificates | 9. Options and Statistics | Get/Set Options | Common Options | Custom Serialization | Statistics | 10. Contexts | 11. Cross-language Exchange | R to Python (NumPy) | 12. Error Handling | 13. Utilities

Last update: 2026-02-07
Started: 2023-12-18

nanonext - Configuration and Security
1. TLS Secure Connections | 2. Options | 3. Custom Serialization | 4. Statistics

Last update: 2026-02-06
Started: 2026-02-06

nanonext - Messaging and Async I/O
1. Cross-language Exchange | 2. Async and Concurrency | 3. Synchronisation Primitives

Last update: 2026-02-06
Started: 2026-02-06

Readme and manuals

Help Manual

Help pageTopics
nanonext: NNG (Nanomsg Next Gen) Lightweight Messaging Librarynanonext-package nanonext
Signal Forwarder%~>%
Make ncurlAio Promiseas.promise.ncurlAio
Make recvAio Promiseas.promise.recvAio
Call the Value of an Asynchronous Aio Operationcall_aio call_aio_
Close Connectionclose close.nanoContext close.nanoDialer close.nanoListener close.nanoServer close.nanoSocket close.nanoStream close.ncurlSession
Collect Data of an Aio or List of Aioscollect_aio collect_aio_
Open Contextcontext
Condition Variablescv cv_reset cv_signal cv_value until until_ wait wait_
Device (Async)device_aio
Dial an Address from a Socketdial
Format Server-Sent Eventformat_sse
Create HTTP Handlerhandler
Create Static Directory Handlerhandler_directory
Create Static File Handlerhandler_file
Create Inline Static Content Handlerhandler_inline
Create HTTP Redirect Handlerhandler_redirect
Create HTTP Streaming Handlerhandler_stream
Create WebSocket Handlerhandler_ws
Create HTTP/WebSocket Serverhttp_server
IP Addressip_addr
Validatorsis_aio is_nano is_ncurl_session
Error Validatorsis_error_value is_nul_byte
Listen to an Address from a Socketlisten
Clock Utilitymclock
Monitor a Socket for Pipe Changesmonitor read_monitor
Sleep Utilitymsleep
Create Nano Objectnano
ncurlncurl
ncurl Asyncncurl_aio
ncurl Sessionncurl_session transact
Translate Error Codesnng_error
NNG Library Versionnng_version
Get and Set Options for a Socket, Context, Stream, Listener or Dialeropt opt<-
Parse URLparse_url
Get the Pipe ID of a recvAiopipe_id
Pipe Notifypipe_notify
Protocols (Documentation)protocols
Race Aiorace_aio
Random Data Generationrandom
Read stdinread_stdin
Reapreap
Receiverecv
Receive Asyncrecv_aio
Reply over Context (RPC Server for Req/Rep Protocol)reply
Request over Context (RPC Client for Req/Rep Protocol)request
Sendsend
Send Asyncsend_aio
Create Serialization Configurationserial_config
Open Socketsocket
Start Listener/Dialerstart start.nanoDialer start.nanoListener
Get Statistic for a Socket, Listener or Dialerstat
Translate HTTP Status Codesstatus_code
Stop Asynchronous Aio Operationstop_aio
Open Streamstream
Subscribe / Unsubscribe Topicsubscribe unsubscribe
Set Survey Timesurvey_time
Create TLS Configurationtls_config
Transports (Documentation)transports
Query if an Aio is Unresolvedunresolved
Generate Self-Signed Certificate and Keywrite_cert
Write to Stdoutwrite_stdout