class LLHttp::Parser

def initialize(delegate, type: :both)

def initialize(delegate, type: :both)
  @type, @delegate = type.to_sym, delegate
  @callbacks = Callbacks.new
  (CALLBACKS + CALLBACKS_WITH_DATA).each do |callback|
    if delegate.respond_to?(callback)
      @callbacks[callback] = method(callback).to_proc
    end
  end
  @pointer = LLHttp.rb_llhttp_init(LLHTTP_TYPES.fetch(@type), @callbacks)
  ObjectSpace.define_finalizer(self, self.class.free(@pointer))
end