Versions in this module Expand all Collapse all v0 v0.1.0 Oct 1, 2018 Changes in this version type Type + const TypeGetAsyncReply + const TypeGetAsyncRequest v0.0.1 Sep 23, 2018 Changes in this version + var DefaultHandler = DiscardHandler + var DefaultMux = NewTypeMux() + var DiscardHandler = HandlerFunc(func(rw ResponseWriter, r *Request) { ... }) + var ErrBodyTooLong = errors.New("openflow: Request body is too long") + var ErrCorruptedHeader = errors.New("openflow: Corrupted header") + var ErrUnknownVersion = errors.New("openflow: Unknown version passed") + func Handle(t Type, handler Handler) + func HandleFunc(t Type, f func(ResponseWriter, *Request)) + func HandleOnce(t Type, handler Handler) + func ListenAndServe(addr string, handler Handler) error + func Send(c Conn, requests ...*Request) error + type Conn interface + Close func() error + Flush func() error + LocalAddr func() net.Addr + Receive func() (*Request, error) + RemoteAddr func() net.Addr + Send func(*Request) error + SetDeadline func(t time.Time) error + SetReadDeadline func(t time.Time) error + SetWriteDeadline func(t time.Time) error + func Dial(network, addr string) (Conn, error) + func DialTLS(network, addr string, config *tls.Config) (Conn, error) + func NewConn(c net.Conn) Conn + type ConnState int + const StateActive + const StateClosed + const StateHandshake + const StateIdle + const StateNew + func (c ConnState) String() string + type CookieJar interface + Cookies func() uint64 + SetCookies func(uint64) + type CookieMatcher struct + Cookies uint64 + Reader CookieReader + func NewCookieMatcher(j CookieJar) *CookieMatcher + func (f *CookieMatcher) Match(r *Request) bool + type CookieReader interface + ReadCookie func(io.Reader) (CookieJar, error) + func CookieReaderOf(j CookieJar) CookieReader + type CookieReaderFunc func(io.Reader) (CookieJar, error) + func (fn CookieReaderFunc) ReadCookie(r io.Reader) (CookieJar, error) + type Handler interface + Serve func(ResponseWriter, *Request) + type HandlerFunc func(ResponseWriter, *Request) + func (h HandlerFunc) Serve(rw ResponseWriter, r *Request) + type Header struct + Length uint16 + Transaction uint32 + Type Type + Version uint8 + func (h *Header) Copy() *Header + func (h *Header) Len() int + func (h *Header) ReadFrom(r io.Reader) (int64, error) + func (h *Header) WriteTo(w io.Writer) (int64, error) + type Listener interface + Accept func() (Conn, error) + Addr func() net.Addr + Close func() error + func Listen(network, laddr string) (Listener, error) + func ListenTLS(network, laddr string, config *tls.Config) (Listener, error) + func NewListener(ln net.Listener) Listener + type Matcher interface + Match func(*Request) bool + func MultiMatcher(m ...Matcher) Matcher + func TransactionMatcher(h *Header) Matcher + type MatcherFunc struct + Func func(*Request) bool + func (m *MatcherFunc) Match(r *Request) bool + type MultiRoutineRunner struct + func NewMultiRoutineRunner(num int) *MultiRoutineRunner + func (mrr *MultiRoutineRunner) Run(fn func()) + type OnDemandRoutineRunner struct + func (_ OnDemandRoutineRunner) Run(fn func()) + type Request struct + Addr net.Addr + Body io.Reader + ContentLength int64 + Header Header + Proto string + ProtoMajor int + ProtoMinor int + func NewRequest(t Type, body io.WriterTo) *Request + func (r *Request) Conn() Conn + func (r *Request) ProtoAtLeast(major, minor int) bool + func (r *Request) ReadFrom(rd io.Reader) (n int64, err error) + func (r *Request) WriteTo(w io.Writer) (n int64, err error) + type ResponseWriter interface + Write func(*Header, io.WriterTo) error + type Runner interface + Run func(func()) + type SequentialRunner struct + func (_ SequentialRunner) Run(fn func()) + type ServeMux struct + func NewServeMux() *ServeMux + func (mux *ServeMux) Handle(m Matcher, h Handler) + func (mux *ServeMux) HandleFunc(m Matcher, h HandlerFunc) + func (mux *ServeMux) HandleOnce(m Matcher, h Handler) + func (mux *ServeMux) Handler(r *Request) Handler + func (mux *ServeMux) Serve(rw ResponseWriter, r *Request) + type Server struct + Addr string + ConnRunner Runner + ConnState func(Conn, ConnState) + Handler Handler + HandlerRunner Runner + MaxConns int + ReadTimeout time.Duration + WriteTimeout time.Duration + func (srv *Server) ListenAndServe() error + func (srv *Server) Serve(l net.Listener) error + type Type uint8 + const TypeAsyncReply + const TypeAsynchRequest + const TypeBarrierReply + const TypeBarrierRequest + const TypeEchoReply + const TypeEchoRequest + const TypeError + const TypeExperiment + const TypeFeaturesReply + const TypeFeaturesRequest + const TypeFlowMod + const TypeFlowRemoved + const TypeGetConfigReply + const TypeGetConfigRequest + const TypeGroupMod + const TypeHello + const TypeMeterMod + const TypeMultipartReply + const TypeMultipartRequest + const TypePacketIn + const TypePacketOut + const TypePortMod + const TypePortStatus + const TypeQueueGetConfigReply + const TypeQueueGetConfigRequest + const TypeRoleReply + const TypeRoleRequest + const TypeSetAsync + const TypeSetConfig + const TypeTableMod + func (t Type) String() string + type TypeMatcher Type + func (t TypeMatcher) Match(r *Request) bool + type TypeMux struct + func NewTypeMux() *TypeMux + func (mux *TypeMux) Handle(t Type, h Handler) + func (mux *TypeMux) HandleFunc(t Type, f HandlerFunc) + func (mux *TypeMux) HandleOnce(t Type, h Handler) + func (mux *TypeMux) Handler(r *Request) Handler + func (mux *TypeMux) Serve(rw ResponseWriter, r *Request)