/* * * 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. * */ /** * \file rfc.cpp * * Qpid asynchronous store plugin library * * File containing code for class mrg::journal::rfc (rotating * file controller). See comments in file rfc.h for details. * * \author Kim van der Riet */ #include "qpid/legacystore/jrnl/rfc.h" #include namespace mrg { namespace journal { rfc::rfc(const lpmgr* lpmp): _lpmp(lpmp), _fc_index(0), _curr_fc(0) {} rfc::~rfc() {} void rfc::finalize() { unset_findex(); } void rfc::set_findex(const u_int16_t fc_index) { _fc_index = fc_index; _curr_fc = _lpmp->get_fcntlp(fc_index); _curr_fc->rd_reset(); } void rfc::unset_findex() { _fc_index = 0; _curr_fc = 0; } std::string rfc::status_str() const { if (!_lpmp->is_init()) return "state: Uninitialized"; if (_curr_fc == 0) return "state: Inactive"; std::ostringstream oss; oss << "state: Active"; return oss.str(); } } // namespace journal } // namespace mrg