chan - Pure C implementation of Go channels.

  •        21

Pure C implementation of Go channels.Unbuffered channels provide both a mechanism for communication as well as synchronization. When data is sent into the channel, the sender blocks until a receiver is ready. Likewise, a receiver will block until a sender is ready.

https://github.com/tylertreat/chan

Tags
Implementation
License
Platform

   




Related Projects

Safe - Modern Concurrency and Synchronization for Swift.

  •    Swift

Safe adds an uncomplicated method for dispatching routines.A new Chan<T> class provides a clean and simple model for concurrently sharing objects. Chan<T> is modeled after Go channels.

Asterisk SCCP channel driver

  •    C

Skinny (SCCP) Channel Driver for the Asterisk Open Source VOIP Platform. This project has been superseded by the chan-sccp-b project at sourceforce !! =gt; http://chan-sccp-b.sourceforge.net

Asterisk/OpenPBX ISDN CAPI chan driver

  •    C

ISDN CAPI Channel driver (chan_capi) for the Asterisk Open Source VoIP Platform. THIS PROJECT HAS BEEN MOVED TO chan-capi.org

ipc-channel - A multiprocess drop-in replacement for Rust channels

  •    Rust

ipc-channel is an implementation of the Rust channel API (a form of communicating sequential processes, CSP) over the native OS abstractions. Under the hood, this API uses Mach ports on the Mac and file descriptor passing over Unix sockets on Linux. The serde library is used to serialize values for transport over the wire. Note that both IpcSender<T> and IpcReceiver<T> implement Serialize and Deserialize, so you can send IPC channels over IPC channels freely, just as you can with Rust channels.

Chan-SCCP channel driver for Asterisk

  •    C

Replacement for the SCCP channel driver in Asterisk. Extended features include Shared Lines, Presence / BLF, customizable Feature Buttons, and Custom Device State. Visit our discussion mailing list for help and join us as a developer if you like.


Stlab Libraries - C++ Concurrency Library

  •    C++

Stlab Concurrency library provides high level constructs for implementing algorithms that eases the use of multiple CPU cores while minimizing the contention.

?????? Makoto Chan Dictionary

  •    

Makoto Chan is a simple Japanese (EN<>JP) dictionary & Kanji look up tool you can search for the following -Kanji with many info (Currently unavailable ) -English Words -Japanese words(Kana & Kanji) -Names Developed with C#.

unitychan-crs - Unity-Chan "Candy Rock Star" Live Demo

  •    CSharp

Unity-Chan "Candy Rock Star" Live Demo

libdill - Structured concurrency in C

  •    C

Libdill is a C library that makes writing structured concurrent programs easy. There is no interaction between threads. Each thread is treated as a separate process. Channels are always unbuffered. Coroutines can be canceled. Generally speaking, though, libdill's concurrency primitives are only a bit slower than basic C flow control statements. A context switch has been seen to execute in as little as 6 ns, with coroutine creation taking 26 ns. Passing a message through a channel takes about 40 ns.

buddycloud - Sharing, discovering, communicating. Magically simple.

  •    Java

buddycloud is designed as a completely new way to share online: your buddycloud channel connects you to the world's realtime conversation. Follow topic channels and plug into a community of experts. Create your own topic channels and share them with the world - or make them private and choose who can view them.

DrK - The DrK Attack - Proof of concept

  •    Python

DrK is an attack that breaks kernel address space layout randomization (KASLR) by exploiting TLB and decoded i-cache side channel. To reliably exploit the side channels, the DrK attack took advantage of Intel TSX (Transactional Synchronization eXtension). One surprising behavior of TSX, which is essentially the root cause of this security loophole, is that it aborts a transaction without notifying the underlying kernel even when the transaction fails due to a critical error, such as a page fault or an access violation, which traditionally requires kernel intervention. DrK turns this property into a precise timing channel that can determine the mapping status (i.e., mapped versus unmapped) and execution status (i.e., executable versus non-executable) of the privileged kernel address space. Since such behavior is on the hardware level, DrK is universally applicable to all OSes, even in virtualized environments, and generates no visible footprint, making it difficult to detect in practice. Therefore, DrK can break the KASLR of all major OSes (i.e., Windows, Linux, and OS X) with near-perfect accuracy in under a second. Run make on the directory of this repository.

sync - Node.JS Server and JavaScript/HTML Client for synchronizing online media

  •    Javascript

CyTube is a web application providing media synchronization, chat, and more for an arbitrary number of channels. I began developing this as a hobby project, and when synchtube.com announced their closure, I began polishing it and readying it for the public. The serverside is written in JavaScript and runs on Node.JS. It makes use of a MySQL database to store user registrations, cached media metadata, and data about each channel.

crossbeam - Support for parallelism and low-level concurrency in Rust

  •    Rust

Crossbeam supports concurrent programming, especially focusing on memory management, synchronization, and non-blocking data structures. atomic for enhancing std::sync API. AtomicConsume provides C/C++11-style "consume" atomic operations (re-exported from crossbeam-utils). ArcCell provides atomic storage and retrieval of Arc.

wifijammer - Continuously jam all wifi clients/routers

  •    Python

Continuously jam all wifi clients and access points within range. The effectiveness of this script is constrained by your wireless card. Alfa cards seem to effectively jam within about a block radius with heavy access point saturation. Granularity is given in the options for more effective targeting. This will find the most powerful wireless interface and turn on monitor mode. If a monitor mode interface is already up it will use the first one it finds instead. It will then start sequentially hopping channels 1 per second from channel 1 to 11 identifying all access points and clients connected to those access points. On the first pass through all the wireless channels it is only identifying targets. After that the 1sec per channel time limit is eliminated and channels are hopped as soon as the deauth packets finish sending. Note that it will still add clients and APs as it finds them after the first pass through.

js-csp - CSP channels for Javascript (like Clojurescript's core.async, or Go)

  •    Javascript

Communicating sequential processes for Javascript (like Clojurescript core.async, or Go).Pingpong (ported from Go).

libchan - Like Go channels over the network

  •    Go

This provides great flexibility in scaling an application by breaking it down into loosely coupled concurrent services. The same application could be composed of goroutines communicating over in-memory channels; then transition to separate unix processes, each assigned to a processor core, and communicating over high-performance IPC; then to a cluster of machines communicating over authenticated TLS sessions. All along it benefits from the concurrency model which has made Go so popular. Not all transports have the same semantics. In-memory Go channels guarantee exactly-once delivery; TCP, TLS, and the various HTTP socket families do not guarantee delivery. Messages arrive in order but may be arbitrarily delayed or lost. There are no ordering invariants across channels.

Eproject TARS Delivery Group 1

  •    

TARS Delivery System Online for Eproject Asp.net. Aptech - Softech - 2013 Group 1: Dang Quang Chan Tran Ngoc Thinh Hoang Ngoc Thang Dang Ngoc Khanh Quang

Dynamic Time Warp for Time Series Analysis

  •    

This is a conversion to C# of Stan Salvador, Philip Chan Fast DTW algorithm originally implemented in Java.

U-Lyss IRC-Bot

  •    VBNET

U-Lyss is an IRC bot for Windows, aimed to make it easier to use than eggdrop. It is a OpenSource - GPL project, programmed with VB.NET, providing full load of useful functions in order to organize and maintain any IRC chan.