Module: Pio::OpenFlow10::Error

Defined in:
lib/pio/open_flow10/error.rb,
lib/pio/open_flow10/error/bad_request.rb,
lib/pio/open_flow10/error/hello_failed.rb

Overview

Error message parser

Defined Under Namespace

Classes: BadRequest, BodyParser, HelloFailed

Class Method Summary collapse

Class Method Details

.read(binary) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/pio/open_flow10/error.rb', line 14

def self.read(binary)
  body = OpenFlowHeaderParser.read(binary).body
  klass = case BodyParser.read(body).snapshot.error_type
          when :hello_failed
            HelloFailed
          when :bad_request
            BadRequest
          else
            fail 'Unknown error message.'
          end
  klass.read binary
end