Apollo 10.0
自动驾驶开放平台
transport.cc
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2018 The Apollo Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *****************************************************************************/
16
18
21
22namespace apollo {
23namespace cyber {
24namespace transport {
25
26Transport::Transport() {
27 CreateParticipant();
29 intra_dispatcher_ = IntraDispatcher::Instance();
30 shm_dispatcher_ = ShmDispatcher::Instance();
31 rtps_dispatcher_ = RtpsDispatcher::Instance();
32 rtps_dispatcher_->SetParticipant(participant_);
33}
34
36
38 if (is_shutdown_.exchange(true)) {
39 return;
40 }
41
42 intra_dispatcher_->Shutdown();
43 shm_dispatcher_->Shutdown();
44 rtps_dispatcher_->Shutdown();
45 notifier_->Shutdown();
46
47 if (participant_ != nullptr) {
48 participant_->Shutdown();
49 participant_ = nullptr;
50 }
51}
52
53void Transport::CreateParticipant() {
54 std::string participant_name =
55 common::GlobalData::Instance()->HostName() + "+" +
56 std::to_string(common::GlobalData::Instance()->ProcessId());
57 participant_ = std::make_shared<
58 Participant>(participant_name, 11512);
59 if (!participant_->Init()) {
60 AERROR << "Transport inner participant init failed!";
61 }
62}
63
64} // namespace transport
65} // namespace cyber
66} // namespace apollo
void SetParticipant(const ParticipantPtr &participant)
#define AERROR
Definition log.h:44
class register implement
Definition arena_queue.h:37