folly/folly/executors/StrandExecutor.cpp

/*
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * 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.
 */

#include <folly/executors/StrandExecutor.h>

#include <glog/logging.h>

#include <folly/ExceptionString.h>
#include <folly/executors/GlobalExecutor.h>

namespace folly {

// Callable that will process a batch of tasks scheduled
// for execution on the same executor when called.
class StrandContext::Task {};

std::shared_ptr<StrandContext> StrandContext::create() {}

void StrandContext::add(Func func, Executor::KeepAlive<> executor) {}

void StrandContext::addWithPriority(
    Func func, Executor::KeepAlive<> executor, int8_t priority) {}

void StrandContext::addImpl(QueueItem&& item) {}

void StrandContext::executeNext(
    std::shared_ptr<StrandContext> thisPtr) noexcept {}

void StrandContext::dispatchFrontQueueItem(
    std::shared_ptr<StrandContext> thisPtr) noexcept {}

Executor::KeepAlive<StrandExecutor> StrandExecutor::create() {}

Executor::KeepAlive<StrandExecutor> StrandExecutor::create(
    std::shared_ptr<StrandContext> context) {}

Executor::KeepAlive<StrandExecutor> StrandExecutor::create(
    Executor::KeepAlive<> parentExecutor) {}

Executor::KeepAlive<StrandExecutor> StrandExecutor::create(
    std::shared_ptr<StrandContext> context,
    Executor::KeepAlive<> parentExecutor) {}

void StrandExecutor::add(Func f) {}

void StrandExecutor::addWithPriority(Func f, int8_t priority) {}

uint8_t StrandExecutor::getNumPriorities() const {}

bool StrandExecutor::keepAliveAcquire() noexcept {}

void StrandExecutor::keepAliveRelease() noexcept {}

StrandExecutor::StrandExecutor(
    std::shared_ptr<StrandContext> context,
    Executor::KeepAlive<> parent) noexcept
    :{}

} // namespace folly