module Aws::RpcV2

def decode(bytes)

def decode(bytes)
  bytes.force_encoding(Encoding::BINARY)
  @engine.decode(bytes)
end

def encode(data)

def encode(data)
  @engine.encode(data)
end

def engine

Returns:
  • (Class) - Returns the default engine.
def engine
  set_default_engine unless @engine
  @engine
end

def engine=(engine)

Parameters:
  • engine (Symbol, Class) --
def engine=(engine)
  @engine = Class === engine ? engine : load_engine(engine)
end

def load_engine(name)

def load_engine(name)
  require "aws-sdk-core/rpc_v2/#{name}_engine"
  const_name = name[0].upcase + name[1..-1] + 'Engine'
  const_get(const_name)
end

def set_default_engine

def set_default_engine
  [:cbor].each do |name|
    @engine ||= try_load_engine(name)
  end
  unless @engine
    raise 'Unable to find a compatible cbor library.'
  end
end

def try_load_engine(name)

def try_load_engine(name)
  load_engine(name)
rescue LoadError
  false
end