blob: 65f81e79c058a2a8e7ee748917f364f52d682488 [file] [log] [blame]
/** @file
Stub file for linking libinknet.a from unit tests
@section license License
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you 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.
*/
#include "HttpSessionManager.h"
#include "HttpBodyFactory.h"
#include "DiagsConfig.h"
#include "ts/InkAPIPrivateIOCore.h"
void
initialize_thread_for_http_sessions(EThread *, int)
{
ink_assert(false);
}
#include "InkAPIInternal.h"
void
APIHooks::append(INKContInternal *cont)
{
}
int
APIHook::invoke(int, void *) const
{
ink_assert(false);
return 0;
}
APIHook *
APIHook::next() const
{
ink_assert(false);
return nullptr;
}
APIHook *
APIHooks::head() const
{
return nullptr;
}
void
APIHooks::clear()
{
}
HttpHookState::HttpHookState() {}
void
HttpHookState::init(TSHttpHookID id, HttpAPIHooks const *global, HttpAPIHooks const *ssn, HttpAPIHooks const *txn)
{
}
APIHook const *
HttpHookState::getNext()
{
return nullptr;
}
void
ConfigUpdateCbTable::invoke(const char * /* name ATS_UNUSED */)
{
ink_release_assert(false);
}
HttpAPIHooks *http_global_hooks = nullptr;
SslAPIHooks *ssl_hooks = nullptr;
LifecycleAPIHooks *lifecycle_hooks = nullptr;
ConfigUpdateCbTable *global_config_cbs = nullptr;
HttpBodyFactory *body_factory = nullptr;
intmax_t
ts::svtoi(TextView src, TextView *out, int base)
{
intmax_t zret = 0;
if (out) {
out->clear();
}
if (!(0 <= base && base <= 36)) {
return 0;
}
if (src.ltrim_if(&isspace) && src) {
const char *start = src.data();
int8_t v;
bool neg = false;
if ('-' == *src) {
++src;
neg = true;
}
// If base is 0, it wasn't specified - check for standard base prefixes
if (0 == base) {
base = 10;
if ('0' == *src) {
++src;
base = 8;
if (src && ('x' == *src || 'X' == *src)) {
++src;
base = 16;
}
}
}
// For performance in common cases, use the templated conversion.
switch (base) {
case 8:
zret = svto_radix<8>(src);
break;
case 10:
zret = svto_radix<10>(src);
break;
case 16:
zret = svto_radix<16>(src);
break;
default:
while (src.size() && (0 <= (v = svtoi_convert[static_cast<unsigned char>(*src)])) && v < base) {
auto n = zret * base + v;
if (n < zret) {
zret = std::numeric_limits<uintmax_t>::max();
break; // overflow, stop parsing.
}
zret = n;
++src;
}
break;
}
if (out && (src.data() > (neg ? start + 1 : start))) {
out->assign(start, src.data());
}
if (neg) {
zret = -zret;
}
}
return zret;
}
void
HostStatus::setHostStatus(const char *name, HostStatus_t status, const unsigned int down_time, const unsigned int reason)
{
}
HostStatRec *
HostStatus::getHostStatus(const char *name)
{
return nullptr;
}
void
HostStatus::createHostStat(const char *name, const char *data)
{
}
HostStatus::HostStatus() {}
HostStatus::~HostStatus() {}
int auto_clear_hostdb_flag = 0;
bool ts_is_draining = false;
void
INKVConnInternal::do_io_close(int error)
{
}
void
INKVConnInternal::do_io_shutdown(ShutdownHowTo_t howto)
{
}
VIO *
INKVConnInternal::do_io_write(Continuation *c, int64_t nbytes, IOBufferReader *buf, bool owner)
{
return nullptr;
}
VIO *
INKVConnInternal::do_io_read(Continuation *c, int64_t nbytes, MIOBuffer *buf)
{
return nullptr;
}
void
INKVConnInternal::destroy()
{
}
void
INKVConnInternal::free()
{
}
void
INKVConnInternal::clear()
{
}
void
INKVConnInternal::reenable(VIO * /* vio ATS_UNUSED */)
{
}
bool
INKVConnInternal::get_data(int id, void *data)
{
return false;
}
bool
INKVConnInternal::set_data(int id, void *data)
{
return false;
}
void
INKVConnInternal::do_io_transform(VConnection *vc)
{
}
void
INKContInternal::handle_event_count(int event)
{
}
void
INKVConnInternal::retry(unsigned int delay)
{
}
INKContInternal::INKContInternal(TSEventFunc funcp, TSMutex mutexp) : DummyVConnection(reinterpret_cast<ProxyMutex *>(mutexp)) {}
INKContInternal::INKContInternal() : DummyVConnection(nullptr) {}
void
INKContInternal::destroy()
{
}
void
INKContInternal::clear()
{
}
void
INKContInternal::free()
{
}
INKVConnInternal::INKVConnInternal() : INKContInternal() {}
INKVConnInternal::INKVConnInternal(TSEventFunc funcp, TSMutex mutexp) : INKContInternal(funcp, mutexp) {}