Skip to content
A playground for data structures in Elixir
Elixir
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
examples
lib
test
.gitignore
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.
You can’t perform that action at this time.