# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/zircon/zx_library.gni")

zx_library("io-scheduler") {
  sdk = "source"
  sdk_headers = [
    "io-scheduler/io-scheduler.h",
    "io-scheduler/scheduler-client.h",
    "io-scheduler/stream-op.h",
    "io-scheduler/stream.h",
    "io-scheduler/worker.h",
  ]

  configs += [ "//build/config:all_source" ]
  sources = [
    "scheduler.cc",
    "stream.cc",
    "worker.cc",
  ]
  deps = [ "//zircon/system/ulib/fbl" ]
}

group("tests") {
  testonly = true
  deps = [ "test:tests" ]
}
