Linux ip-172-26-7-228 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64
Your IP : 3.147.76.250
<?php
namespace Aws\DynamoDb;
trait SessionConnectionConfigTrait
{
/** @var string Name of table to store the sessions */
protected $tableName = 'sessions';
/** @var string Name of hash key in table. Default: "id" */
protected $hashKey = 'id';
/** @var string Name of the data attribute in table. Default: "data" */
protected $dataAttribute = 'data';
/** @var string Type of the data attribute in table. Default: "string" */
protected $dataAttributeType = 'string';
/** @var integer Lifetime of inactive sessions expiration */
protected $sessionLifetime;
/** @var string Name of the session life time attribute in table. Default: "expires" */
protected $sessionLifetimeAttribute = 'expires';
/** @var string Whether or not to use consistent reads */
protected $consistentRead = true;
/** @var string Batch options used for garbage collection */
protected $batchConfig = [];
/** @var boolean Whether or not to use session locking */
protected $locking = false;
/** @var integer Max time (s) to wait for lock acquisition */
protected $maxLockWaitTime = 10;
/** @var integer Min time (µs) to wait between lock attempts */
protected $minLockRetryMicrotime = 10000;
/** @var integer Max time (µs) to wait between lock attempts */
protected $maxLockRetryMicrotime = 50000;
/**
* It initialize the Config class and
* it sets values in case of valid configurations.
*
* It transforms parameters underscore separated in camelcase "this_is_a_test" => ThisIsATest
* and it uses it in order to set the values.
*
* @param array $config
*/
public function initConfig( array $config = [] )
{
if (!empty($config))
{
foreach ($config as $key => $value)
{
$method = 'set' . str_replace('_', '', ucwords($key, '_'));
if(method_exists($this,$method))
{
call_user_func_array(array($this, $method), array($value));
}
}
}
// It applies the default PHP session lifetime, if no session lifetime config is provided
if(!isset($config['session_lifetime']))
{
$this->setSessionLifetime((int) ini_get('session.gc_maxlifetime'));
}
}
/**
* @return string
*/
public function getTableName()
{
return $this->tableName;
}
/**
* @param string $tableName
*/
public function setTableName($tableName)
{
$this->tableName = $tableName;
}
/**
* @return string
*/
public function getHashKey()
{
return $this->hashKey;
}
/**
* @param string $hashKey
*/
public function setHashKey($hashKey)
{
$this->hashKey = $hashKey;
}
/**
* @return string
*/
public function getDataAttribute()
{
return $this->dataAttribute;
}
/**
* @param string $dataAttribute
*/
public function setDataAttribute($dataAttribute)
{
$this->dataAttribute = $dataAttribute;
}
/**
* @return string
*/
public function getDataAttributeType()
{
return $this->dataAttributeType;
}
/**
* @param string $dataAttributeType
*/
public function setDataAttributeType($dataAttributeType)
{
$this->dataAttributeType = $dataAttributeType;
}
/**
* @return number
*/
public function getSessionLifetime()
{
return $this->sessionLifetime;
}
/**
* @param number $sessionLifetime
*/
public function setSessionLifetime($sessionLifetime)
{
$this->sessionLifetime = $sessionLifetime;
}
/**
* @return string
*/
public function getSessionLifetimeAttribute()
{
return $this->sessionLifetimeAttribute;
}
/**
* @param string $sessionLifetimeAttribute
*/
public function setSessionLifetimeAttribute($sessionLifetimeAttribute)
{
$this->sessionLifetimeAttribute = $sessionLifetimeAttribute;
}
/**
* @return boolean
*/
public function isConsistentRead()
{
return $this->consistentRead;
}
/**
* @param boolean $consistentRead
*/
public function setConsistentRead($consistentRead)
{
$this->consistentRead = $consistentRead;
}
/**
* @return mixed
*/
public function getBatchConfig()
{
return $this->batchConfig;
}
/**
* @param mixed $batchConfig
*/
public function setBatchConfig($batchConfig)
{
$this->batchConfig = $batchConfig;
}
/**
* @return boolean
*/
public function isLocking()
{
return $this->locking;
}
/**
* @param boolean $locking
*/
public function setLocking($locking)
{
$this->locking = $locking;
}
/**
* @return number
*/
public function getMaxLockWaitTime()
{
return $this->maxLockWaitTime;
}
/**
* @param number $maxLockWaitTime
*/
public function setMaxLockWaitTime($maxLockWaitTime)
{
$this->maxLockWaitTime = $maxLockWaitTime;
}
/**
* @return number
*/
public function getMinLockRetryMicrotime()
{
return $this->minLockRetryMicrotime;
}
/**
* @param number $minLockRetryMicrotime
*/
public function setMinLockRetryMicrotime($minLockRetryMicrotime)
{
$this->minLockRetryMicrotime = $minLockRetryMicrotime;
}
/**
* @return number
*/
public function getMaxLockRetryMicrotime()
{
return $this->maxLockRetryMicrotime;
}
/**
* @param number $maxLockRetryMicrotime
*/
public function setMaxLockRetryMicrotime($maxLockRetryMicrotime)
{
$this->maxLockRetryMicrotime = $maxLockRetryMicrotime;
}
}
|