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

// https://w3c.github.io/webrtc-quic/#rtcquicstreamstate*
enum RTCQuicStreamState {
    "new",
    "opening",
    "open",
    "closing",
    "closed",
};

// https://w3c.github.io/webrtc-quic/#quicstream*
[
   Exposed=Window,
   RuntimeEnabled=RTCQuicTransport
] interface RTCQuicStream : EventTarget {
    readonly attribute RTCQuicTransport transport;
    readonly attribute RTCQuicStreamState state;
    readonly attribute unsigned long readBufferedAmount;
    readonly attribute unsigned long writeBufferedAmount;
    readonly attribute unsigned long maxWriteBufferedAmount;
    [RaisesException] void write(Uint8Array data);
    void finish();
    void reset();
    attribute EventHandler onstatechange;
    // TODO(crbug.com/868068): Implement remaining methods, attributes, and events.
};

