Skip to content
A playground for data structures in Elixir
Elixir
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
config
examples
lib
test
.gitignore Add streaming structures Sep 13, 2014
LICENSE
README.md
mix.exs

README.md

Structurez

A playground for data structures

Treeset

An ordered set wrapping :gb_sets

AgentDict

A dict backed by an Agent. WARNING: This should make you cringe. It's essentially a mutable Dict. Only use this when you need concurrent access. There are a lot of other terrible ways to use it.

TCPClient.stream/1

Streamz.Net.TCPClient.stream/1 accepts a keyword list with :host and :port set. It will connect the the host and port and supports Enumerable and Collectable. This enables a bunch of cool things.

Connecting:

n = TCPClient.stream([host: "localhost", port: 4444])

Reading data:

n |> Enum.each &IO.inspect(&1)

Writing data:

["Hello", "World"] |> Enum.into(n)

Echo Client (writes any data it receives back to the server):

n |> Enum.into(n)

Up Next

There are tons of possibilities. Here's what is on the current radar.

  • TCPServer/1 - A server version of TCPClient
  • UDPClient/1 - A UDP version of TCPClient
  • UDPServer/1 - A server version of UDPClient
  • WebSockets.stream/1 - Bidirection stream for a websocket connection.
Something went wrong with that request. Please try again.