An open API service indexing awesome lists of open source software.

https://github.com/xiaodaigh/gosocket

A simple toy example of goroutine-like function go.socket which allows code to be executed in a non-blocking manner on a socket server
https://github.com/xiaodaigh/gosocket

Last synced: 6 months ago
JSON representation

A simple toy example of goroutine-like function go.socket which allows code to be executed in a non-blocking manner on a socket server

Awesome Lists containing this project

README

        

# Use the future package
The functionality demonstrated in this toy example is better implemented in the [future package](https://cran.r-project.org/web/packages/future/vignettes/future-1-overview.html) already.

gosocket
========
Allows for simple go-routine like execution of code (as in syntax but NOT in lightweight-ness) in a non-blocking manner on socket server.

# Install
```r
install.packages("devtools") #if not already installed
devtools::install_github("AnalytixWare/gosocket")
```

# Usage
```r
library(gosocket)
system.time(gs <- go.socket("z <- rnorm(10^8)")) # go.socket is non-blocking the rest of the code will execute almost immediately
print("Don't have to wait for it to finish")
evalServer.nb(gs$con,"summary(z)") # to retrieve the results; this is blocking
print("The above you have to wait for!")
close.go.socket(gs) # good practise to close the go.socket
```