1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
// 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.
#include "osp/public/protocol_connection_client.h"
namespace openscreen {
namespace osp {
ProtocolConnectionClient::ConnectRequest::ConnectRequest() = default;
ProtocolConnectionClient::ConnectRequest::ConnectRequest(
ProtocolConnectionClient* parent,
uint64_t request_id)
: parent_(parent), request_id_(request_id) {}
ProtocolConnectionClient::ConnectRequest::ConnectRequest(ConnectRequest&& other)
: parent_(other.parent_), request_id_(other.request_id_) {
other.request_id_ = 0;
}
ProtocolConnectionClient::ConnectRequest::~ConnectRequest() {
if (request_id_)
parent_->CancelConnectRequest(request_id_);
}
ProtocolConnectionClient::ConnectRequest&
ProtocolConnectionClient::ConnectRequest::operator=(ConnectRequest&& other) {
using std::swap;
swap(parent_, other.parent_);
swap(request_id_, other.request_id_);
return *this;
}
ProtocolConnectionClient::ProtocolConnectionClient(
MessageDemuxer* demuxer,
ProtocolConnectionServiceObserver* observer)
: demuxer_(demuxer),
endpoint_request_ids_(EndpointRequestIds::Role::kClient),
observer_(observer) {}
ProtocolConnectionClient::~ProtocolConnectionClient() = default;
std::ostream& operator<<(std::ostream& os,
ProtocolConnectionClient::State state) {
switch (state) {
case ProtocolConnectionClient::State::kStopped:
return os << "STOPPED";
case ProtocolConnectionClient::State::kStarting:
return os << "STARTING";
case ProtocolConnectionClient::State::kRunning:
return os << "RUNNING";
case ProtocolConnectionClient::State::kStopping:
return os << "STOPPING";
default:
return os << "UNKNOWN";
}
}
} // namespace osp
} // namespace openscreen
|