#include <stx_group.h>

Definition at line 53 of file stx_group.h.
Public Member Functions | |
| cmn_LockOwn () | |
| virtual | ~cmn_LockOwn () |
| void | LockOwnInit (int a_groupID, int a_maxNumOfLocks, int a_maxWaitSeconds) |
| int | GetGroupID () |
| void | IncNumOfLocks () |
| bool | IsItTimeToFlush () |
| void | SetNeedFlush () |
| following method are used by | |
| void | Clear () |
Public Attributes | |
| log_CLASSID_m | |
Protected Attributes | |
| int | m_groupID |
| bool | m_needFlush |
| int | m_numOfLocks |
| int | m_maxNumOfLocks |
| ivd_Time32_t | m_firstLockTime |
| int | m_maxWaitSeconds |
| cmn_LockOwn::cmn_LockOwn | ( | ) | [inline] |
Definition at line 55 of file stx_group.h.
00056 : 00057 m_groupID(-1), 00058 m_needFlush(false), 00059 m_numOfLocks(0), 00060 m_maxNumOfLocks(100), 00061 m_firstLockTime(0), 00062 m_maxWaitSeconds(5) 00063 { 00064 // Empty 00065 };
| virtual cmn_LockOwn::~cmn_LockOwn | ( | ) | [inline, virtual] |
| void cmn_LockOwn::LockOwnInit | ( | int | a_groupID, | |
| int | a_maxNumOfLocks, | |||
| int | a_maxWaitSeconds | |||
| ) |
Definition at line 61 of file stx_group.cpp.
References dbg_DETAIL, log_DBG_m, log_FUNC_m, m_groupID, m_maxNumOfLocks, and m_maxWaitSeconds.
Referenced by fio_TransGroupLock< _T, _defTransEl >::ReserveGroup().
00063 { 00064 log_FUNC_m(LockOwnInit); 00065 m_groupID = a_groupID; 00066 m_maxNumOfLocks = a_maxNumOfLocks; 00067 m_maxWaitSeconds = a_maxWaitSeconds; 00068 log_DBG_m(dbg_DETAIL, "groupID " << m_groupID 00069 << " maxNumOfLocks " << m_maxNumOfLocks 00070 << " maxWaitSeconds " << m_maxWaitSeconds); 00071 }

| int cmn_LockOwn::GetGroupID | ( | ) | [inline] |
Definition at line 84 of file stx_group.h.
Referenced by fio_TransGroupLock< _T, _defTransEl >::ReleaseGroup(), and fio_TransGroupLock< _T, _defTransEl >::UnLockAndFlush().
00084 { return m_groupID; };

| void cmn_LockOwn::IncNumOfLocks | ( | ) |
Definition at line 75 of file stx_group.cpp.
References log_FUNC_m, m_firstLockTime, m_numOfLocks, and NULL.
Referenced by stx_GroupOfEl< _T, _defGroupEl >::InsertEl().
00075 { 00076 log_FUNC_m(IncNumOfLocks); 00077 if (m_firstLockTime == 0) { 00078 m_firstLockTime = time(NULL); 00079 } 00080 m_numOfLocks++; 00081 }

| bool cmn_LockOwn::IsItTimeToFlush | ( | ) |
Definition at line 85 of file stx_group.cpp.
References dbg_DETAIL, log_DBG_m, log_FUNC_m, m_firstLockTime, m_groupID, m_maxNumOfLocks, m_maxWaitSeconds, m_needFlush, m_numOfLocks, NULL, and cmn_Time::Time2hms().
00085 { 00086 log_FUNC_m(IsItTimeToFlush); 00087 cmn_Time t(m_firstLockTime); 00088 log_DBG_m(dbg_DETAIL, "IsItTimeToFlush: groupID " << m_groupID 00089 << " numOfLocks " << m_numOfLocks 00090 << " firstLockTime " << t.Time2hms() 00091 << " needFlush " << m_needFlush); 00092 return m_firstLockTime + m_maxWaitSeconds > time(NULL) 00093 || m_numOfLocks >= m_maxNumOfLocks 00094 || m_needFlush; 00095 }

| void cmn_LockOwn::SetNeedFlush | ( | ) | [inline] |
following method are used by
Definition at line 91 of file stx_group.h.
00091 { m_needFlush = true;};
| void cmn_LockOwn::Clear | ( | void | ) |
Definition at line 99 of file stx_group.cpp.
References dbg_DETAIL, log_DBG_m, log_FUNC_m, m_firstLockTime, m_groupID, m_needFlush, and m_numOfLocks.
Referenced by stx_GroupOfEl< _T, _defGroupEl >::Clear().
00099 { 00100 log_FUNC_m(Clear); 00101 log_DBG_m(dbg_DETAIL, "Last value before clear. groupID " << m_groupID 00102 << " numOfLocks " << m_numOfLocks 00103 << " firstLockTime " 00104 << cmn_Time(m_firstLockTime).Time2hms() 00105 << " needFlush " << m_needFlush); 00106 m_firstLockTime = 0; 00107 m_numOfLocks = 0; 00108 m_needFlush = false; 00109 }

int cmn_LockOwn::m_groupID [protected] |
Definition at line 74 of file stx_group.h.
Referenced by Clear(), fio_Transaction::EndTransaction(), IsItTimeToFlush(), LockOwnInit(), and fio_Transaction::StartTransAnyType().
bool cmn_LockOwn::m_needFlush [protected] |
int cmn_LockOwn::m_numOfLocks [protected] |
Definition at line 76 of file stx_group.h.
Referenced by Clear(), IncNumOfLocks(), and IsItTimeToFlush().
int cmn_LockOwn::m_maxNumOfLocks [protected] |
ivd_Time32_t cmn_LockOwn::m_firstLockTime [protected] |
Definition at line 78 of file stx_group.h.
Referenced by Clear(), IncNumOfLocks(), and IsItTimeToFlush().
int cmn_LockOwn::m_maxWaitSeconds [protected] |
1.5.6