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

import 'dart:async';
import 'dart:convert';
import 'dart:io';

class JSONSocket {
  JSONSocket(WebSocket socket, this.unusualTermination)
    : _socket = socket, stream = socket.map(JSON.decode).asBroadcastStream();

  final WebSocket _socket;
  final Stream stream;
  final Future<String> unusualTermination;

  void send(dynamic data) {
    _socket.add(JSON.encode(data));
  }
}