telehash

package module
v0.0.0-...-c0ffc74 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 3, 2015 License: Apache-2.0 Imports: 9 Imported by: 0

README

gogotelehash

Build Status GoDoc status

Project Status

Gogotelehash is currently under active development. The API is subject to change. We are currently working on Telehash v3.

What works:

  • Endpoints
  • Exchanges
  • Channels (both reliable and unreliable)
  • cipherset 1a
  • cipherset 3a
  • transport udp
  • transport inproc
  • upnp and nat-pmp mapping

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Channel

type Channel struct {
	// contains filtered or unexported fields
}

func (*Channel) Close

func (c *Channel) Close() error

func (*Channel) Error

func (c *Channel) Error(err error) error

func (*Channel) Errorf

func (c *Channel) Errorf(format string, args ...interface{}) error

func (*Channel) LocalAddr

func (c *Channel) LocalAddr() net.Addr

func (*Channel) Read

func (c *Channel) Read(b []byte) (int, error)

func (*Channel) ReadPacket

func (c *Channel) ReadPacket() (*Packet, error)

func (*Channel) RemoteAddr

func (c *Channel) RemoteAddr() net.Addr

func (*Channel) SetDeadline

func (c *Channel) SetDeadline(d time.Time) error

func (*Channel) SetReadDeadline

func (c *Channel) SetReadDeadline(d time.Time) error

func (*Channel) SetWriteDeadline

func (c *Channel) SetWriteDeadline(d time.Time) error

func (*Channel) Write

func (c *Channel) Write(b []byte) (int, error)

func (*Channel) WritePacket

func (c *Channel) WritePacket(pkt *Packet) error

type Endpoint

type Endpoint struct {
	// contains filtered or unexported fields
}

func Open

func Open(options ...EndpointOption) (*Endpoint, error)

func (*Endpoint) Close

func (e *Endpoint) Close() error

func (*Endpoint) Dial

func (e *Endpoint) Dial(identifier Identifier) (*Exchange, error)

func (*Endpoint) Listen

func (e *Endpoint) Listen(typ string, reliable bool) *Listener

func (*Endpoint) LocalIdentity

func (e *Endpoint) LocalIdentity() (*Identity, error)

func (*Endpoint) Open

func (e *Endpoint) Open(identifier Identifier, typ string, reliable bool) (*Channel, error)

type EndpointOption

type EndpointOption e3x.EndpointOption

func Transport

func Transport(config transports.Config) EndpointOption

type Exchange

type Exchange struct {
	// contains filtered or unexported fields
}

func (*Exchange) Open

func (x *Exchange) Open(typ string, reliable bool) (*Channel, error)

func (*Exchange) RemoteIdentity

func (x *Exchange) RemoteIdentity() *Identity

type Hashname

type Hashname hashname.H

type Identifier

type Identifier e3x.Identifier

type Identity

type Identity struct {
	// contains filtered or unexported fields
}

func (*Identity) Hashname

func (i *Identity) Hashname() Hashname

func (*Identity) Identify

func (i *Identity) Identify(e *e3x.Endpoint) (*e3x.Identity, error)

func (*Identity) MarshalJSON

func (i *Identity) MarshalJSON() ([]byte, error)

func (*Identity) String

func (i *Identity) String() string

func (*Identity) UnmarshalJSON

func (i *Identity) UnmarshalJSON(b []byte) error

type Listener

type Listener struct {
	// contains filtered or unexported fields
}

func (*Listener) Accept

func (l *Listener) Accept() (net.Conn, error)

func (*Listener) AcceptChannel

func (l *Listener) AcceptChannel() (*Channel, error)

func (*Listener) Addr

func (l *Listener) Addr() net.Addr

func (*Listener) Close

func (l *Listener) Close() error

type Packet

type Packet lob.Packet

func (*Packet) Free

func (p *Packet) Free()

func (*Packet) Header

func (p *Packet) Header() *lob.Header

Directories

Path Synopsis
Godeps
_workspace/src/github.com/docopt/docopt-go
Package docopt parses command-line arguments based on a help message.
Package docopt parses command-line arguments based on a help message.
_workspace/src/github.com/fd/go-nat
Package nat implements NAT handling facilities
Package nat implements NAT handling facilities
_workspace/src/github.com/huin/goupnp
goupnp is an implementation of a client for various UPnP services.
goupnp is an implementation of a client for various UPnP services.
_workspace/src/github.com/huin/goupnp/dcps/internetgateway1
Client for UPnP Device Control Protocol Internet Gateway Device v1.
Client for UPnP Device Control Protocol Internet Gateway Device v1.
_workspace/src/github.com/huin/goupnp/dcps/internetgateway2
Client for UPnP Device Control Protocol Internet Gateway Device v2.
Client for UPnP Device Control Protocol Internet Gateway Device v2.
_workspace/src/github.com/huin/goupnp/example
Serves as examples of using the goupnp library.
Serves as examples of using the goupnp library.
_workspace/src/github.com/stretchr/objx
objx - Go package for dealing with maps, slices, JSON and other data.
objx - Go package for dealing with maps, slices, JSON and other data.
_workspace/src/github.com/stretchr/testify
A set of packages that provide many tools for testifying that your code will behave as you intend.
A set of packages that provide many tools for testifying that your code will behave as you intend.
_workspace/src/github.com/stretchr/testify/assert
A set of comprehensive testing tools for use with the normal Go testing system.
A set of comprehensive testing tools for use with the normal Go testing system.
_workspace/src/github.com/stretchr/testify/mock
Provides a system by which it is possible to mock your objects and verify calls are happening as expected.
Provides a system by which it is possible to mock your objects and verify calls are happening as expected.
_workspace/src/github.com/stretchr/testify/require
Alternative testing tools which stop test execution if test failed.
Alternative testing tools which stop test execution if test failed.
_workspace/src/github.com/stretchr/testify/suite
The suite package contains logic for creating testing suite structs and running the methods on those structs as tests.
The suite package contains logic for creating testing suite structs and running the methods on those structs as tests.
_workspace/src/golang.org/x/crypto/curve25519
Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519.
Package curve25519 provides an implementation of scalar multiplication on the elliptic curve known as curve25519.
_workspace/src/golang.org/x/crypto/nacl/box
Package box authenticates and encrypts messages using public-key cryptography.
Package box authenticates and encrypts messages using public-key cryptography.
_workspace/src/golang.org/x/crypto/nacl/secretbox
Package secretbox encrypts and authenticates small messages.
Package secretbox encrypts and authenticates small messages.
_workspace/src/golang.org/x/crypto/poly1305
Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf.
Package poly1305 implements Poly1305 one-time message authentication code as specified in http://cr.yp.to/mac/poly1305-20050329.pdf.
_workspace/src/golang.org/x/crypto/salsa20
Package salsa20 implements the Salsa20 stream cipher as specified in http://cr.yp.to/snuffle/spec.pdf.
Package salsa20 implements the Salsa20 stream cipher as specified in http://cr.yp.to/snuffle/spec.pdf.
_workspace/src/golang.org/x/crypto/salsa20/salsa
Package salsa provides low-level access to functions in the Salsa family.
Package salsa provides low-level access to functions in the Salsa family.
_dht
e3x
cipherset/cs1a
Package cs1a implements Cipher Set 1a.
Package cs1a implements Cipher Set 1a.
cipherset/cs1a/eccp
Elliptic Curve Compressed Point marshaler
Elliptic Curve Compressed Point marshaler
cipherset/cs1a/ecdh
Elliptic curve Diffie–Hellman key sharing
Elliptic curve Diffie–Hellman key sharing
cipherset/cs1a/secp160r1
Parameters for the secp160r1 Elliptic curve
Parameters for the secp160r1 Elliptic curve
cipherset/cs3a
Package cs3a implements Cipher Set 3a.
Package cs3a implements Cipher Set 3a.
internal
hashname
Package hashname provides the Hashname type and its derivation functions.
Package hashname provides the Hashname type and its derivation functions.
lob
Package lob implemnets the Length-Object-Binary encoding (Packet Format).
Package lob implemnets the Length-Object-Binary encoding (Packet Format).
modules/paths
Package paths negotiates additional paths between two endpoints.
Package paths negotiates additional paths between two endpoints.
modules
tools
Package transports implements Generic interfaces for telehash transports Transports must implement the Config and Transport interfaces.
Package transports implements Generic interfaces for telehash transports Transports must implement the Config and Transport interfaces.
dgram
Package dgram provides a wrapper for datagram based transports like UDP.
Package dgram provides a wrapper for datagram based transports like UDP.
fw
inproc
Package inproc implements the in-process transport
Package inproc implements the in-process transport
mux
Package mux implements a transport muxer.
Package mux implements a transport muxer.
nat
Package nat privides NAT port mapping for transports that support it.
Package nat privides NAT port mapping for transports that support it.
tcp
Package tcp implements the TCP transport.
Package tcp implements the TCP transport.
udp
Package udp implements the UDP transport.
Package udp implements the UDP transport.
unix
Package unix implements the UNIX domain sockets transport.
Package unix implements the UNIX domain sockets transport.
Package uri handles the Telehash URI format.
Package uri handles the Telehash URI format.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL