// Copyright 2020 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.

library fuchsia.component;

const uint32 MAX_NAME_LENGTH = 100;
const uint32 MAX_PATH_LENGTH = 1024;
const uint32 MAX_MONIKER_LENGTH = 4096;
const uint32 MAX_URL_SCHEME_LENGTH = 100;

/// The maximum number of requests per event subscription.
const uint32 MAX_SUBSCRIPTION_REQUESTS = 2;

/// The maximum number of events that a receiver can listen to.
const uint64 MAX_NUM_EVENTS_RECEIVED = 100;
