Project Malmo  0.37.0
ClientInfo.h
1 // --------------------------------------------------------------------------------------------------
2 // Copyright (c) 2016 Microsoft Corporation
3 //
4 // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
5 // associated documentation files (the "Software"), to deal in the Software without restriction,
6 // including without limitation the rights to use, copy, modify, merge, publish, distribute,
7 // sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
8 // furnished to do so, subject to the following conditions:
9 //
10 // The above copyright notice and this permission notice shall be included in all copies or
11 // substantial portions of the Software.
12 //
13 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
14 // NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
15 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
16 // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18 // --------------------------------------------------------------------------------------------------
19 
20 #ifndef _CLIENTINFO_H_
21 #define _CLIENTINFO_H_
22 
23 // STL:
24 #include <string>
25 
26 namespace malmo
27 {
28  enum {
29  default_client_mission_control_port = 10000
30  };
31 
33  struct ClientInfo
34  {
37 
40  ClientInfo(const std::string& ip_address);
41 
45  ClientInfo(const std::string& ip_address, int control_port);
46 
51  ClientInfo(const std::string& ip_address, int control_port, int command_port);
52 
54  std::string ip_address;
55 
58 
61 
62  friend std::ostream& operator<<(std::ostream& os, const ClientInfo& ci);
63  };
64 }
65 
66 #endif
Structure containing information about a simulation client's address and port.
Definition: ClientInfo.h:34
ClientInfo(const std::string &ip_address, int control_port, int command_port)
Constructs a ClientInfo at the specified address listening on the specified port.
int command_port
The command port of the client. Default of 0 causes client to dynamically allocate one.
Definition: ClientInfo.h:60
ClientInfo()
Constructs an empty ClientInfo struct.
ClientInfo(const std::string &ip_address, int control_port)
Constructs a ClientInfo at the specified address listening on the specified port.
ClientInfo(const std::string &ip_address)
Constructs a ClientInfo at the specified address listening on the default port.
int control_port
The control port of the client. Defaults to the default client mission control port.
Definition: ClientInfo.h:57
std::string ip_address
The IP address of the client.
Definition: ClientInfo.h:54