Skip to content

assert failure faraday.ml:377 using Async #63

@roddyyaga

Description

@roddyyaga

I'm trying to use faraday with Async like so:

open Async

let handle fd =
  let ic = Reader.create fd in
  let writev = Faraday_async.writev_of_fd fd in
  let output_buffer = Faraday.create 16 in
  let write_output x =
    Faraday_async.serialize output_buffer
      ~yield:(fun buffer -> my_serialize_function buffer x |> return)
      ~writev
  in
  Angstrom_async.parse_many parse_function
    (fun parsed -> parsed |> my_processing_function |> write_output)
    ic
  >>| Result.get_ok

let create_server port =
  Tcp.Server.create_sock_inet ~on_handler_error:`Raise
    (Tcp.Where_to_listen.of_port port) (fun _address socket ->
      handle (Socket.fd socket))

but I get this error any time I try to connect:

((monitor.ml.Error "Assert_failure lib/faraday.ml:377:4"
    ("Raised at file \"async/faraday_async.ml\", line 30, characters 6-15"
     "Called from file \"src/deferred1.ml\", line 17, characters 40-45"
     "Called from file \"src/job_queue.ml\", line 167, characters 6-47"
     "Caught by monitor Tcp.Server.create_sock_inet"))

Any idea why this might be happening?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions