LuaAsio - Simple transparent non-blocking TCP I/O for LuaJIT, Based on Boost.Asio and Lua coroutine.

  •        43

Simple transparent non-blocking, high concurrency I/O for LuaJIT. Only 600+ lines. There are no callbacks, Asynchronous happens when you perform a non-blocking operation.

https://github.com/Heerozh/LuaAsio

Tags
Implementation
License
Platform

   




Related Projects

swift-nio - Event-driven network application framework for high performance protocol servers & clients, non-blocking

  •    Swift

SwiftNIO is a cross-platform asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. It's like Netty, but written for Swift.

Non-blocking servers in Java made easy

  •    Java

A framework that takes most of the pain out of writing non-blocking network servers in Java 1.4. It'll shield you from low-level details of output buffering, selector management etc. leaving you to concentrate solely on writing the network protocol.

Drogon - C++14/17 based HTTP Web Application Framework

  •    C++

Drogon is a C++14/17-based HTTP application framework. Drogon can be used to easily build various types of web application server programs using C++.It uses Use a non-blocking I/O network lib based on epoll high-concurrency, high-performance network IO, Completely asynchronous programming mode, HTTPS, WebSocket, Json format, gzip, brotli compression and lot more.

Tornado - Non-blocking Web Server powers FriendFeed

  •    Python

Tornado is an open source version of the scalable, non-blocking web server and tools that power FriendFeed. The framework is distinct from most mainstream web server frameworks (and certainly most Python frameworks) because it is non-blocking and reasonably fast. Because it is non-blocking and uses epoll, it can handle thousands of simultaneous standing connections, which means it is ideal for real-time web services. Tornado is one of Facebook's open source technologies.

node-mariasql - A node.js binding to MariaDB's non-blocking (MySQL-compatible) client library

  •    C++

A node.js binding to MariaDB's non-blocking (MySQL-compatible) client library.This binding is different from a vanilla libmysqlclient binding in that it uses the non-blocking functions available in MariaDB's client library. As a result, this binding does not use multiple threads to achieve non-blocking behavior.


vue-notifications - Vue.js agnostic library for non-blocking notifications

  •    Javascript

VueNotifications - agnostic library for non-blocking notifications. vue-notifications is "Vue.js agnostic non-blocking notifications library"... and it's a lie )) Seriously.

Lightning - A Swift Multiplatform Single-threaded Non-blocking Web and Networking Framework

  •    Swift

Lightning is an HTTP Server and TCP Client/Server framework written in Swift and inspired by Node.js. It runs on both OS X and Linux. Like Node.js, Lightning uses an event-driven, non-blocking I/O model. In the same way that Node.js uses libuv to implement this model, Lightning uses libdispatch. This makes Lightning fast, efficient, and most crutially single-threaded by default. You simply do not need to worry about locks/mutexes/semaphores/etc if you have server-side state. Of course, Lightning applications can make use of libdispatch to easily offload heavy processing to a background thread if necessary.

turbo - Turbo is a framework built for LuaJIT 2 to simplify the task of building fast and scalable network applications

  •    Lua

Turbo is a framework built for LuaJIT 2 to simplify the task of building fast and scalable network applications. It uses a event-driven, non-blocking, no thread design to deliver excellent performance and minimal footprint to high-load applications while also providing excellent support for embedded uses. The toolkit can be used for HTTP REST API's, traditional dynamic web pages through templating, open connections like WebSockets, or just as high level building blocks for native speed network applications. First and foremost the framework is aimed at the HTTP(S) protocol. This means web developers and HTTP API developers are the first class citizens. But the framework contains generic nuts and bolts such as; a I/O loop, IO Stream classes, customizeable TCP (with SSL) server classes giving it value for everyone doing any kind of high performance network application. It will also speak directly to your exising C libraries, and happily also create native C struct's for the ultimate memory and CPU performance.

Undertow - High performance non-blocking Webserver

  •    Java

Undertow is a flexible performant web server written in java, providing both blocking and non-blocking API’s based on NIO. Undertow has a composition based architecture that allows you to build a web server by combining small single purpose handlers. The gives you the flexibility to choose between a full Java EE servlet 3.1 container, or a low level non-blocking handler, to anything in between.

BlockHound - Java agent to detect blocking calls from non-blocking threads.

  •    Java

Java agent to detect blocking calls from non-blocking threads. Note that it points to the exact place where the blocking call got triggered. In this example it was Example.java:16.

nginx-buildpack - Run NGINX in front of your app server on Heroku

  •    Shell

Nginx-buildpack vendors NGINX inside a dyno and connects NGINX to an app server via UNIX domain sockets. Some application servers (e.g. Ruby's Unicorn) halt progress when dealing with network I/O. Heroku's Cedar routing stack buffers only the headers of inbound requests. (The Cedar router will buffer the headers and body of a response up to 1MB) Thus, the Heroku router engages the dyno during the entire body transfer –from the client to dyno. For applications servers with blocking I/O, the latency per request will be degraded by the content transfer. By using NGINX in front of the application server, we can eliminate a great deal of transfer time from the application server. In addition to making request body transfers more efficient, all other I/O should be improved since the application server need only communicate with a UNIX socket on localhost. Basically, for webservers that are not designed for efficient, non-blocking I/O, we will benefit from having NGINX to handle all I/O operations.

fossa - Async non-blocking multi-protocol networking library for C/C++

  •    C

Fossa is a multi-protocol networking library written in C. It provides easy to use event-driven interface that allows to implement network protocols or scalable network applications with little effort. Fossa helps developers to manage the complexity of network programming and let them concentrate on the logic, saving time and money. Fossa has built-in support for several protocols, like HTTP, Websocket, MQTT, mDNS. Example applications include Websocket-based chat server, JSON-RPC server, database server with RESTful API, MQTT broker, netcat with SSL and hexdump, Raspberry PI camera video feed + led control, and more.

ReactiveMongo - Asynchronous and Non-Blocking Scala Driver for MongoDB

  •    Scala

ReactiveMongo is a scala driver that provides fully non-blocking and asynchronous I/O operations. It allows you to stream data both into and from your MongoDB servers.

Project Reactor - Create efficient Reactive systems

  •    Java

Reactor is a fourth-generation Reactive library for building non-blocking applications on the JVM based on the Reactive Streams Specification. Reactor is a fully non-blocking foundation with efficient demand management. It directly interacts with Java functional API, Completable Future, Stream and Duration. Reactor Operators and Schedulers can sustain high throughput rates on the order of 10's of millions of messages per second.

WebSocket++ - C++ Websocket client/server library

  •    C++

WebSocket++ is a header only C++ library that implements RFC6455 The WebSocket Protocol. It allows integrating WebSocket client and server functionality into C++ programs. It uses interchangeable network transport modules including one based on raw char buffers, one based on C++ iostreams, and one based on Asio (either via Boost or standalone). End users can write additional transport policies to support other networking or event libraries as needed.

Asio C++ Library

  •    C++

Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.

AMQP-CPP - C++ library for asynchronous non-blocking communication with RabbitMQ

  •    C++

AMQP-CPP is a C++ library for communicating with a RabbitMQ message broker. The library can be used to parse incoming data from a RabbitMQ server, and to generate frames that can be sent to a RabbitMQ server. This library has a layered architecture, and allows you - if you like - to completely take care of the network layer. If you want to set up and manage the network connections yourself, the AMQP-CPP library will not make a connection to RabbitMQ by itself, nor will it create sockets and/or perform IO operations. As a user of this library, you create the socket connection and implement a certain interface that you pass to the AMQP-CPP library and that the library will use for IO operations.

AdGuardHome - Network-wide ads & trackers blocking DNS server

  •    Go

Free and open source, powerful network-wide ads & trackers blocking DNS server. AdGuard Home is a network-wide software for blocking ads & tracking. After you set it up, it'll cover ALL your home devices, and you don't need any client-side software for that.

asio C++ library

  •    C++

asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.

deft - High performance non blocking web framework

  •    Java

High performance non blocking web framework