     public func decode(ctx: ChannelHandlerContext, buffer: inout ByteBuffer) throws -> Bool {
         let result = try buffer.withReadPointer(body: { (pointer: UnsafePointer<UInt8>, len: Int) -> size_t in
             try pointer.withMemoryRebound(to: Int8.self, capacity: len, { (bytes: UnsafePointer<Int8>) -> size_t in
-                let result = http_parser_execute(parser, settings, bytes, len)
-                let errno = parser!.pointee.http_errno
+                let result = http_parser_execute(&parser!, &settings!, bytes, len)
+                let errno = parser!.http_errno
                 if errno != 0 {
                     throw HTTPParserError.httpError(fromCHTTPParserErrno:  http_errno(rawValue: errno))!
                 }

            return 0
        }

        settings!.pointee.on_headers_complete = { parser in
            let ctx = evacuateContext(parser)
            let handler = ctx.handler as! HTTPRequestDecoder


            return 0
        }

        settings!.on_message_complete = { parser in
            let ctx = evacuateContext(parser)
            let handler = ctx.handler as! HTTPRequestDecoder

