NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.3: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
step3.cpp
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014, Peter Thorson. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution.
11
* * Neither the name of the WebSocket++ Project nor the
12
* names of its contributors may be used to endorse or promote products
13
* derived from this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY
19
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*/
26
27
// **NOTE:** This file is a snapshot of the WebSocket++ utility client tutorial.
28
// Additional related material can be found in the tutorials/utility_client
29
// directory of the WebSocket++ repository.
30
31
#include <
websocketpp/config/asio_no_tls_client.hpp
>
32
#include <
websocketpp/client.hpp
>
33
34
#include <
websocketpp/common/thread.hpp
>
35
#include <
websocketpp/common/memory.hpp
>
36
37
#include <iostream>
38
#include <string>
39
40
typedef
websocketpp::client<websocketpp::config::asio_client>
client
;
41
42
class
websocket_endpoint
{
43
public
:
44
websocket_endpoint
() {
45
m_endpoint.
clear_access_channels
(
websocketpp::log::alevel::all
);
46
m_endpoint.
clear_error_channels
(
websocketpp::log::elevel::all
);
47
48
m_endpoint.
init_asio
();
49
m_endpoint.
start_perpetual
();
50
51
m_thread = websocketpp::lib::make_shared<websocketpp::lib::thread>(&
client::run
, &m_endpoint);
52
}
53
private
:
54
client
m_endpoint;
55
websocketpp::lib::shared_ptr<websocketpp::lib::thread> m_thread;
56
};
57
58
int
main
() {
59
bool
done =
false
;
60
std::string input;
61
websocket_endpoint
endpoint;
62
63
while
(!done) {
64
std::cout <<
"Enter Command: "
;
65
std::getline(std::cin, input);
66
67
if
(input ==
"quit"
) {
68
done =
true
;
69
}
else
if
(input ==
"help"
) {
70
std::cout
71
<<
"\nCommand List:\n"
72
<<
"help: Display this help text\n"
73
<<
"quit: Exit the program\n"
74
<< std::endl;
75
}
else
{
76
std::cout <<
"Unrecognized Command"
<< std::endl;
77
}
78
}
79
80
return
0;
81
}
websocketpp::log::alevel::all
static level const all
Special aggregate value representing "all levels".
Definition:
levels.hpp:152
websocketpp::client< websocketpp::config::asio_client >
websocketpp::transport::asio::endpoint::init_asio
void init_asio(io_service_ptr ptr, lib::error_code &ec)
initialize asio transport with external io_service (exception free)
Definition:
endpoint.hpp:181
websocketpp::endpoint::clear_error_channels
void clear_error_channels(log::level channels)
Clear Error logging channels.
Definition:
endpoint.hpp:253
websocket_endpoint
Definition:
scratch_client.cpp:113
thread.hpp
main
int main()
Definition:
step3.cpp:58
websocket_endpoint::websocket_endpoint
websocket_endpoint()
Definition:
step3.cpp:44
websocketpp::endpoint::clear_access_channels
void clear_access_channels(log::level channels)
Clear Access logging channels.
Definition:
endpoint.hpp:231
asio_no_tls_client.hpp
websocketpp::transport::asio::endpoint::run
std::size_t run()
wraps the run method of the internal io_service object
Definition:
endpoint.hpp:613
websocketpp::log::elevel::all
static level const all
Special aggregate value representing "all levels".
Definition:
levels.hpp:80
memory.hpp
client.hpp
websocketpp::transport::asio::endpoint::start_perpetual
void start_perpetual()
Marks the endpoint as perpetual, stopping it from exiting when empty.
Definition:
endpoint.hpp:662
client
websocketpp::client< websocketpp::config::asio_client > client
Definition:
step3.cpp:40
ndnSIM
NFD
websocketpp
tutorials
utility_client
step3.cpp
Generated on Thu Nov 2 2017 03:30:29 for ndnSIM by
1.8.11