Everett
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory > Struct Template Reference

#include <cola_adaptive_index.h>

Classes

struct  route_stream
 

Public Types

using index_type = cola_index< P, Native, Main >
 
using destination_type = index_destination< P, Ops, SpoolOps >
 
using result_type = std::variant< std::shared_ptr< index_type const >, object_seal_receipt >
 
using sink_type = sort_profile_detail::file_bit_sink< P, Ops, route_stream >
 

Public Member Functions

 adaptive_index_output (Factory factory, output_budget budget, std::size_t limit)
 
 adaptive_index_output (adaptive_index_output const &)=delete
 
adaptive_index_output & operator= (adaptive_index_output const &)=delete
 
bool failed () const noexcept
 
bool finished () const noexcept
 
bool spilled () const noexcept
 
Factory const & factory () const noexcept
 
object_write_paths const & paths () const &
 
object_write_paths const & paths () const &&=delete
 
std::uint64_t spooled_bytes () const noexcept
 
void append_known (unsigned route, bit_view key, std::uint64_t common)
 
result_type finish (typename index_type::native_pointer native, typename index_type::main_pointer main, typename index_type::native_pointer secondary, index_metadata< P > metadata)
 

Private Member Functions

void poison () noexcept
 
destination_type & destination ()
 
void require_active () const
 
std::size_t retained_bytes (std::array< bit_string, 2 > const &payload, index_metadata< P > const &metadata) const
 

Private Attributes

Factory factory_
 
output_budget budget_
 
std::size_t limit_
 
std::unique_ptr< destination_type > destination_
 
std::array< route_stream, 2 > routes_
 
sink_type main_
 
sink_type secondary_
 
std::array< borrowed_file_state< P >, 2 > profiles_
 
bool failed_ = false
 
bool finished_ = false
 

Member Typedef Documentation

◆ destination_type

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
using everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::destination_type = index_destination<P, Ops, SpoolOps>

◆ index_type

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
using everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::index_type = cola_index<P, Native, Main>

◆ result_type

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
using everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::result_type = std::variant<std::shared_ptr<index_type const>, object_seal_receipt>

◆ sink_type

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
using everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::sink_type = sort_profile_detail::file_bit_sink<P, Ops, route_stream>

Constructor & Destructor Documentation

◆ adaptive_index_output() [1/2]

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::adaptive_index_output ( Factory  factory,
output_budget  budget,
std::size_t  limit 
)
inline

◆ adaptive_index_output() [2/2]

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::adaptive_index_output ( adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory > const &  )
delete

Member Function Documentation

◆ append_known()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
void everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::append_known ( unsigned  route,
bit_view  key,
std::uint64_t  common 
)
inline

◆ destination()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
destination_type & everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::destination ( )
inlineprivate

◆ factory()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
Factory const & everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::factory ( ) const
inlinenoexcept

◆ failed()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
bool everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::failed ( ) const
inlinenoexcept

◆ finish()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
result_type everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::finish ( typename index_type::native_pointer  native,
typename index_type::main_pointer  main,
typename index_type::native_pointer  secondary,
index_metadata< P >  metadata 
)
inline

◆ finished()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
bool everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::finished ( ) const
inlinenoexcept

◆ operator=()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
adaptive_index_output & everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::operator= ( adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory > const &  )
delete

◆ paths() [1/2]

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
object_write_paths const & everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::paths ( ) const &
inline

◆ paths() [2/2]

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
object_write_paths const & everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::paths ( ) const &&
delete

◆ poison()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
void everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::poison ( )
inlineprivatenoexcept

◆ require_active()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
void everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::require_active ( ) const
inlineprivate

◆ retained_bytes()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
std::size_t everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::retained_bytes ( std::array< bit_string, 2 > const &  payload,
index_metadata< P > const &  metadata 
) const
inlineprivate

◆ spilled()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
bool everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::spilled ( ) const
inlinenoexcept

◆ spooled_bytes()

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
std::uint64_t everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::spooled_bytes ( ) const
inlinenoexcept

Member Data Documentation

◆ budget_

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
output_budget everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::budget_
private

◆ destination_

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
std::unique_ptr<destination_type> everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::destination_
private

◆ factory_

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
Factory everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::factory_
private

◆ failed_

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
bool everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::failed_ = false
private

◆ finished_

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
bool everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::finished_ = false
private

◆ limit_

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
std::size_t everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::limit_
private

◆ main_

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
sink_type everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::main_
private

◆ profiles_

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
std::array<borrowed_file_state<P>, 2> everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::profiles_
private

◆ routes_

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
std::array<route_stream, 2> everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::routes_
private

◆ secondary_

template<class P , class Native , class Main , class Ops , class SpoolOps , class Factory >
sink_type everett::cola_detail::adaptive_index_output< P, Native, Main, Ops, SpoolOps, Factory >::secondary_
private

The documentation for this struct was generated from the following file: