Popularity
2.1
Declining
Activity
0.0
Stable
17
0
2

Monthly Downloads: 0
Programming language: Elixir
License: MIT License
Tags: Bittorrent    

wire alternatives and similar packages

Based on the "Bittorrent" category.
Alternatively, view wire alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of wire or a related project?

Add another 'Bittorrent' Package

README

Wire

Build Status

Wire is an elixir package for decoding and encoding bittorrent peer wire protocol messages.

A message is represented in the library as a keyword list with :type: the type of the message (:keep_alive, :not_interested, etc) and the other fields of the message, e.g.

h = [type: :have, piece_index: 4]

Wire.encode [type: :interested] # <<0, 0, 0, 1, 2>>
Wire.encode [type: :bitfield, field: <<0, 4>>] # <<0, 0, 0, 3, 5, 0, 4>>

decode_messages decodes a binary containing 0 or more messages and returns a list of messages and the remaining bytes



Wire.decode_messages(<<0, 0, 0, 6, 5, 0, 2, 4, 3, 1>>)
# {[[type: :bitfield, field: <<0, 2, 4, 3, 1>>]], <<>>}
Wire.decode_messages(<< 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0xf, 5 >>)
# {[[type: :keep_alive], [type: :interested]], <<0, 0, 0, 0xf, 5>>})


Install

Add to your mix.exs deps

{:wire, "~> 0.2.0"}

Development

Built and maintained by Alexander Ivanov, with substantial contributions by Florian Adamsky

LICENSE

MIT

Copyright

Copyright (c) 2014-2015 Alexander Ivanov. See [LICENSE](LICENSE) for further details


*Note that all licence references and agreements mentioned in the wire README section above are relevant to that project's source code only.