1
0
Fork 0

removed AddressPort class

This commit is contained in:
Jan Steemann 2012-07-23 14:04:58 +02:00
parent 4e6c8024f6
commit ac0e4c1f59
4 changed files with 17 additions and 266 deletions

View File

@ -4,6 +4,23 @@ v1.1.x (XXXX-XX-XX)
multiple ports/endpoints anyway, and the distinction between admin and "other"
ports/endpoints will be made using privileges
* removed startup options "--server.port" and "--server.http-port" for arangod.
These options have been replaced by the new "--server.endpoint" parameter.
* removed startup option "--server" for arangosh and arangoimp.
These options have been replaced by the new "--server.endpoint" parameter.
* Added "--server.endpoint" option to arangod, arangosh, and arangoimp.
For arangod, this option allows specifying the bind endpoints for the server.
The server can be bound to one or multiple endpoints at once. For arangosh
and arangoimp, the option specifies the server endpoint to connect to.
The following endpoint syntax is currently supported:
- tcp://host:port (IPv4)
- tcp://host (IPv4 address, with default port 8529)
- tcp://[host]:port (IPv6)
- tcp://[host] (IPv6 address, with default port 8529)
- unix://path/to/socket (UNIX socket)
* removed startup options "--server.require-keep-alive" and
"--server.secure-require-keep-alive".
The server will now behave as follows which should be more conforming to the

View File

@ -67,7 +67,6 @@ lib_libarango_a_SOURCES = \
lib/ProgramOptions/program-options.c \
lib/ProtocolBuffers/HttpRequestProtobuf.cpp \
lib/ProtocolBuffers/arangodb.pb.cpp \
lib/Rest/AddressPort.cpp \
lib/Rest/AnyServer.cpp \
lib/Rest/EndpointList.cpp \
lib/Rest/EndpointSpecification.cpp \

View File

@ -1,126 +0,0 @@
////////////////////////////////////////////////////////////////////////////////
/// @brief address and port
///
/// @file
///
/// DISCLAIMER
///
/// Copyright 2010-2011 triagens GmbH, Cologne, Germany
///
/// Licensed under the Apache License, Version 2.0 (the "License");
/// you may not use this file except in compliance with the License.
/// You may obtain a copy of the License at
///
/// http://www.apache.org/licenses/LICENSE-2.0
///
/// Unless required by applicable law or agreed to in writing, software
/// distributed under the License is distributed on an "AS IS" BASIS,
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
/// See the License for the specific language governing permissions and
/// limitations under the License.
///
/// Copyright holder is triAGENS GmbH, Cologne, Germany
///
/// @author Dr. Frank Celler
/// @author Copyright 2009-2011, triAGENS GmbH, Cologne, Germany
////////////////////////////////////////////////////////////////////////////////
#include "AddressPort.h"
#include "Basics/StringUtils.h"
using namespace triagens::basics;
using namespace triagens::rest;
// -----------------------------------------------------------------------------
// --SECTION-- constructors and destructors
// -----------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
/// @addtogroup Rest
/// @{
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @brief creates an empty address / port structure
////////////////////////////////////////////////////////////////////////////////
AddressPort::AddressPort ()
: _address("127.0.0.1"),
_port(0) {
}
////////////////////////////////////////////////////////////////////////////////
/// @brief creates an IP4 or IP6 address / port structure
////////////////////////////////////////////////////////////////////////////////
AddressPort::AddressPort (string const& definition) {
split(definition);
}
////////////////////////////////////////////////////////////////////////////////
/// @}
////////////////////////////////////////////////////////////////////////////////
// -----------------------------------------------------------------------------
// --SECTION-- public methods
// -----------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
/// @addtogroup Rest
/// @{
////////////////////////////////////////////////////////////////////////////////
bool AddressPort::operator== (AddressPort const &that) {
return _address == that._address && _port == that._port;
}
////////////////////////////////////////////////////////////////////////////////
/// @brief splits an address
////////////////////////////////////////////////////////////////////////////////
bool AddressPort::split (string const& definition) {
if (definition.empty()) {
return false;
}
if (definition[0] == '[') {
// ipv6 address
size_t find = definition.find("]:", 1);
if (find != string::npos && find + 2 < definition.size()) {
_address = definition.substr(1, find-1);
_port = StringUtils::uint32(definition.substr(find+2));
return true;
}
}
int n = StringUtils::numEntries(definition, ":");
if (n == 1) {
_address = "";
_port = StringUtils::uint32(definition);
return true;
}
else if (n == 2) {
_address = StringUtils::entry(1, definition, ":");
_port = StringUtils::int32(StringUtils::entry(2, definition, ":"));
return true;
}
else {
return false;
}
}
////////////////////////////////////////////////////////////////////////////////
/// @}
////////////////////////////////////////////////////////////////////////////////
// Local Variables:
// mode: outline-minor
// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @\\}\\)"
// End:

View File

@ -1,139 +0,0 @@
////////////////////////////////////////////////////////////////////////////////
/// @brief address and port
///
/// @file
///
/// DISCLAIMER
///
/// Copyright 2010-2011 triagens GmbH, Cologne, Germany
///
/// Licensed under the Apache License, Version 2.0 (the "License");
/// you may not use this file except in compliance with the License.
/// You may obtain a copy of the License at
///
/// http://www.apache.org/licenses/LICENSE-2.0
///
/// Unless required by applicable law or agreed to in writing, software
/// distributed under the License is distributed on an "AS IS" BASIS,
/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
/// See the License for the specific language governing permissions and
/// limitations under the License.
///
/// Copyright holder is triAGENS GmbH, Cologne, Germany
///
/// @author Dr. Frank Celler
/// @author Copyright 2009-2011, triAGENS GmbH, Cologne, Germany
////////////////////////////////////////////////////////////////////////////////
#ifndef TRIAGENS_FYN_REST_ADDRESS_PORT_H
#define TRIAGENS_FYN_REST_ADDRESS_PORT_H 1
#include <Basics/Common.h>
// -----------------------------------------------------------------------------
// --SECTION-- struct AddressPort
// -----------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
/// @addtogroup Rest
/// @{
////////////////////////////////////////////////////////////////////////////////
namespace triagens {
namespace rest {
////////////////////////////////////////////////////////////////////////////////
/// @brief address / port structure
////////////////////////////////////////////////////////////////////////////////
struct AddressPort {
////////////////////////////////////////////////////////////////////////////////
/// @}
////////////////////////////////////////////////////////////////////////////////
// -----------------------------------------------------------------------------
// --SECTION-- constructors and destructors
// -----------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
/// @addtogroup Rest
/// @{
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @brief creates an empty address / port structure
////////////////////////////////////////////////////////////////////////////////
AddressPort ();
////////////////////////////////////////////////////////////////////////////////
/// @brief creates an IP4 or IP6 address / port structure
////////////////////////////////////////////////////////////////////////////////
AddressPort (string const&);
////////////////////////////////////////////////////////////////////////////////
/// @}
////////////////////////////////////////////////////////////////////////////////
// -----------------------------------------------------------------------------
// --SECTION-- public methods
// -----------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
/// @addtogroup Rest
/// @{
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @brief comparison
////////////////////////////////////////////////////////////////////////////////
bool operator== (AddressPort const& that);
////////////////////////////////////////////////////////////////////////////////
/// @brief splits an address
////////////////////////////////////////////////////////////////////////////////
bool split (string const& definition);
////////////////////////////////////////////////////////////////////////////////
/// @}
////////////////////////////////////////////////////////////////////////////////
// -----------------------------------------------------------------------------
// --SECTION-- public variables
// -----------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
/// @addtogroup Rest
/// @{
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/// @brief address string
////////////////////////////////////////////////////////////////////////////////
string _address;
////////////////////////////////////////////////////////////////////////////////
/// @brief port
////////////////////////////////////////////////////////////////////////////////
unsigned int _port;
};
}
}
////////////////////////////////////////////////////////////////////////////////
/// @}
////////////////////////////////////////////////////////////////////////////////
#endif
// Local Variables:
// mode: outline-minor
// outline-regexp: "^\\(/// @brief\\|/// {@inheritDoc}\\|/// @addtogroup\\|// --SECTION--\\|/// @\\}\\)"
// End: