#include <fio_Transaction.h>
Definition at line 76 of file fio_Transaction.h.
Public Member Functions | |
| fio_StartTransaction_t () | |
| fio_StartTransaction_t (ivd_TransNumber_t a_transNumber, ivd_FileBufSize_t a_transSize, ivd_AlterNumber_t a_alterNumber, UInt32_t a_FreedVector, UInt32_t a_UsedVector) | |
| void | Init (fio_JourHandle &m_jourHnd_p) |
| bool | operator== (fio_StartTransaction_t a) |
| bool | operator== (fio_EndTransaction_t a) |
Static Public Member Functions | |
| static ivd_FilePosition_t | FindStart (fio_JourHandle &m_jourHnd_p) |
| static ivd_FilePosition_t | FindStart (fio_File &f, ivd_FilePosition_t startPos) |
Public Attributes | |
| char | Prefix [fio_START_TRANS_STR_LEN_d] |
| ivd_TransNumber_t | TransNumber |
| ivd_FileBufSize_t | TransSize |
| ivd_AlterNumber_t | AlterNumber |
| time_t | Time |
| unsigned short | MilliTime |
| UInt32_t | FreedVector |
| UInt32_t | UsedVector |
| log_CLASSID_m | |
Friends | |
| ostream & | operator<< (ostream &a_os, fio_StartTransaction_t &a_startTrans) |
| Operator prints fio_StartTransaction to stream. | |
| fio_StartTransaction_t::fio_StartTransaction_t | ( | ) | [inline] |
| fio_StartTransaction_t::fio_StartTransaction_t | ( | ivd_TransNumber_t | a_transNumber, | |
| ivd_FileBufSize_t | a_transSize, | |||
| ivd_AlterNumber_t | a_alterNumber, | |||
| UInt32_t | a_FreedVector, | |||
| UInt32_t | a_UsedVector | |||
| ) |
Definition at line 125 of file fio_Transaction.cpp.
References c_StartTransString, c_StartTransStrLen, cmn_Time::GetMilliTime(), cmn_Time::GetTime_t(), MilliTime, Prefix, and Time.
00131 : 00132 TransNumber(a_transNumber), 00133 TransSize(a_transSize), 00134 AlterNumber(a_alterNumber), 00135 FreedVector(a_FreedVector), 00136 UsedVector(a_UsedVector) 00137 { 00138 strncpy(Prefix, c_StartTransString, c_StartTransStrLen); 00139 00140 cmn_Time t; 00141 Time = t.GetTime_t(); 00142 MilliTime = t.GetMilliTime(); 00143 } //============================================================================//

| void fio_StartTransaction_t::Init | ( | fio_JourHandle & | m_jourHnd_p | ) |
Definition at line 147 of file fio_Transaction.cpp.
References c_StartTransString, c_StartTransStrLen, dbg_NORM, fio_JourHandle::GetTransNumber(), ie_NOT_STARTTRANS_T, ivd_Error, fio_JourHandle::JourRead(), len, log_DBG_m, log_FUNC_m, Prefix, fio_JourHandle::ResetPosition(), fio_JourHandle::SetTransSize(), and TransNumber.
Referenced by fio_JourFile::Dump(), and fio_Transaction::ReadTransactionFromLog().
00147 { 00148 log_FUNC_m(Init); 00149 a_jourHnd.SetTransSize(sizeof(fio_StartTransaction_t)); 00150 unsigned int len = a_jourHnd.JourRead(this, sizeof(fio_StartTransaction_t)); 00151 00152 if ( (len == sizeof(fio_StartTransaction_t)) 00153 && (strncmp(Prefix, c_StartTransString, c_StartTransStrLen) == 0) 00154 ) { 00155 if ( (TransNumber != 0) 00156 && (a_jourHnd.GetTransNumber() != 0) 00157 && (TransNumber != a_jourHnd.GetTransNumber() + 1) 00158 ) { 00159 log_DBG_m(dbg_NORM, "Trans number not in sequence! Last trans number =" << a_jourHnd.GetTransNumber() 00160 << *this); 00161 } 00162 // Empty 00163 } 00164 else { // len > sizeof(Prefix) + sizeof(Version) && ... 00165 a_jourHnd.ResetPosition(); // revert position 00166 ostringstream sstr; 00167 sstr << "Bad transaction header. TransNumber=" << TransNumber 00168 << ", but expect " << (a_jourHnd.GetTransNumber() + 1); 00169 throw ivd_Error(ie_NOT_STARTTRANS_T, sstr.str(), false); 00170 } 00171 }


| bool fio_StartTransaction_t::operator== | ( | fio_StartTransaction_t | a | ) |
Definition at line 175 of file fio_Transaction.cpp.
References c_StartTransStrLen, Prefix, and TransNumber.
00175 { 00176 return ( (strncmp(Prefix, a.Prefix, c_StartTransStrLen) == 0) 00177 &&(TransNumber == a.TransNumber) ); 00178 }
| bool fio_StartTransaction_t::operator== | ( | fio_EndTransaction_t | a | ) |
Definition at line 182 of file fio_Transaction.cpp.
References fio_EndTransaction_t::TransNumber, and TransNumber.
00182 { 00183 return ( TransNumber == a.TransNumber ); 00184 }
| ivd_FilePosition_t fio_StartTransaction_t::FindStart | ( | fio_JourHandle & | m_jourHnd_p | ) | [static] |
Definition at line 188 of file fio_Transaction.cpp.
References fio_JourHandle::GetJourFile(), and fio_JourHandle::GetStartPosition().
Referenced by fio_JourHandle::FindNextTransHdr().
00188 { 00189 return FindStart(*(fio_File*)m_jourHnd.GetJourFile(), m_jourHnd.GetStartPosition() + 1); 00190 }


| ivd_FilePosition_t fio_StartTransaction_t::FindStart | ( | fio_File & | f, | |
| ivd_FilePosition_t | startPos | |||
| ) | [static] |
Definition at line 194 of file fio_Transaction.cpp.
References cmn_FastFileSearch::Find(), fio_START_TRANS_STR_LEN_d, fio_START_TRANS_STRING_d, log_FUNC_m, and cmn_File::SeekEndF().
00194 { 00195 log_FUNC_m(StartSearch); 00196 00197 static cmn_SkipTbl4FS startTransSearchTbl(string(fio_START_TRANS_STRING_d,fio_START_TRANS_STR_LEN_d)); 00198 00199 static cmn_FastPattSearch fastSearch(&startTransSearchTbl); 00200 00201 cmn_FastFileSearch ffs(&fastSearch, &f, 4096); 00202 00203 //DEL ivd_FilePosition_t pos = ffs.Find(startPos, f.SeekEndF()); 00204 ivd_FilePosition_t pos = ffs.Find(startPos); 00205 00206 if (pos < 0) { // if not found then 00207 pos = f.SeekEndF(); // next start is at the end of the file 00208 } 00209 return pos; 00210 }

| ostream& operator<< | ( | ostream & | a_os, | |
| fio_StartTransaction_t & | a_startTrans | |||
| ) | [friend] |
Operator prints fio_StartTransaction to stream.
Definition at line 214 of file fio_Transaction.cpp.
00214 { 00215 string pref(a_st.Prefix, fio_START_TRANS_STR_LEN_d); 00216 cmn_Time t(a_st.Time, a_st.MilliTime); 00217 a_os << "*** Start Trans Rec " << a_st.TransNumber << '\n'; 00218 // a_os << "Prefix = " << pref << '\n'; 00219 // a_os << "Number = " << a_st.TransNumber << '\n'; 00220 a_os << "Size = " << a_st.TransSize << '\n'; 00221 a_os << "Time = " << t.Time2YMDhmsm() << '\n'; 00222 a_os << "Alter = " << a_st.AlterNumber << '\n'; 00223 a_os << "ReleVec= " << a_st.FreedVector << '\n'; 00224 a_os << "UsedVec= " << a_st.UsedVector << '\n'; 00225 a_os << "*** End\n"; 00226 return a_os; 00227 }
| char fio_StartTransaction_t::Prefix[fio_START_TRANS_STR_LEN_d] |
Definition at line 94 of file fio_Transaction.h.
Referenced by fio_StartTransaction_t(), Init(), operator<<(), and operator==().
Definition at line 95 of file fio_Transaction.h.
Referenced by fio_JourFile::Dump(), Init(), operator<<(), operator==(), and fio_Transaction::ReadTransactionFromLog().
Definition at line 96 of file fio_Transaction.h.
Referenced by fio_JourFile::Dump(), fio_JourHandle::FindNextTransHdr(), operator<<(), and fio_Transaction::ReadTransactionFromLog().
Definition at line 97 of file fio_Transaction.h.
Referenced by operator<<(), and fio_Transaction::ReadTransactionFromLog().
| time_t fio_StartTransaction_t::Time |
Definition at line 98 of file fio_Transaction.h.
Referenced by fio_StartTransaction_t(), and operator<<().
| unsigned short fio_StartTransaction_t::MilliTime |
Definition at line 99 of file fio_Transaction.h.
Referenced by fio_StartTransaction_t(), and operator<<().
Definition at line 100 of file fio_Transaction.h.
Referenced by operator<<(), and fio_Transaction::ReadTransactionFromLog().
Definition at line 101 of file fio_Transaction.h.
Referenced by operator<<(), and fio_Transaction::ReadTransactionFromLog().
Definition at line 103 of file fio_Transaction.h.
1.5.6