chromium/mojo/public/cpp/bindings/tests/remote_unittest.test-mojom

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module mojo.test.remote_unittest.mojom;

interface SharedRemoteSyncTest {
  [Sync] Fetch() => (int32 value);
};

interface LargeMessageTest {
  [Sync]
  ProcessData(array<uint8> data) => (uint64 data_size);

  [Sync, UnlimitedSize]
  ProcessLotsOfData(array<uint8> data) => (uint64 data_size);

  [Sync, UnlimitedSize]
  GetLotsOfData(uint64 data_size) => (array<uint8> data);
};

interface SequenceChecker {
  Bind(pending_associated_receiver<SequenceChecker> receiver);
  AddClient(pending_associated_remote<SequenceCheckerClient> client);
  Check(int32 n);
  [Sync] GetNextExpectedValue() => (int32 n);
  [Sync] Quit() => ();
};

interface SequenceCheckerClient {
  OnNextExpectedValueQueried(int32 n);
  OnQuit();
};