Sbuffer is a working buffer from which keys are served. More...
#include "s-buffer.h"
Inheritance diagram for ns3::SBuffer:
Collaboration diagram for ns3::SBuffer:Public Types | |
| enum | Type { LOCAL_SBUFFER , RELAY_SBUFFER , STREAM_SBUFFER , E2E_SESSION , LOCAL_SESSION } |
| S-Buffer Type. More... | |
Public Member Functions | |
| SBuffer () | |
| QBuffer constructor. | |
| SBuffer (SBuffer::Type type, uint32_t size) | |
| SBuffer constructor. | |
| ~SBuffer () override | |
| QBuffer destructor. | |
| virtual void | DoInitialize () override |
| Initialize() implementation. | |
| uint32_t | GetBitCount () const override |
| get amount of stored key material in bits | |
| uint32_t | GetDefaultKeyCount (uint32_t number=0) |
| Get number of keys that are in default size. | |
| Ptr< QKDKey > | GetHalfKey (std::string keyId, uint32_t size) |
| Get portion of key. | |
| Ptr< QKDKey > | GetKey (std::string keyID="", bool fireTraces=true) override |
| get key from QBuffer | |
| Ptr< QKDKey > | GetKey (uint32_t size) |
| Get key with given size. | |
| uint32_t | GetNextIndex () |
| uint32_t | GetSBitCount () |
| Get servable bit count. | |
| uint32_t | GetSKeyCount () |
| Get servable key count. | |
| uint32_t | GetStreamIndex () |
| Ptr< QKDKey > | GetStreamKey () |
| Returns key chunk with lowest index. | |
| uint32_t | GetStreamKeyCount () |
| Ptr< QKDKey > | GetSupplyKey (std::string keyId) |
| Get supply key. | |
| Ptr< QKDKey > | GetTransformCandidate (uint32_t size) |
| Get key candidate. | |
| Type | GetType () |
| Get s-buffer type. | |
| void | InsertKeyToStreamSession (Ptr< QKDKey > key) |
| Insert key to key stream session. | |
| bool | IsRelayActive () |
| void | LogUpdate (uint32_t diffValue, bool positive) override |
| Log key consumption. | |
| void | MarkKey (std::string keyId, QKDKey::QKDKeyState_e state) |
| Mark key. | |
| void | SetKeyLifetime (std::string keyId) |
| Assign a lifetime to a key. | |
| void | SetRelayState (bool relayActive) |
| void | SetType (Type type) |
| Set s-buffer type. | |
| bool | StoreKey (Ptr< QKDKey > key) |
| store key in SBuffer | |
| bool | StoreKey (Ptr< QKDKey > key, bool fireTraces) override |
| store key in QBuffer | |
| void | StoreSupplyKey (Ptr< QKDKey > key) |
| Store supply key. | |
Public Member Functions inherited from ns3::QBuffer | |
| QBuffer () | |
| QBuffer constructor. | |
| ~QBuffer () override | |
| QBuffer destructor. | |
| void | CheckState () |
| Update the state after some changes on the QBuffer. | |
| virtual void | Configure (uint32_t Mmin, uint32_t Mthr, uint32_t Mmax, uint32_t Mcurrent, uint32_t defaultKeySize) |
| create QKD buffer configuration | |
| void | Dispose () |
| destroy a QBuffer | |
| double | GetAverageKeyChargingTimePeriod () |
| Return average duration of key charging process in the long run. | |
| int64_t | GetDeltaTime () |
| std::string | GetDescription () const |
| uint32_t | GetId () const |
| Get the QKD Storage/Buffer ID. | |
| uint32_t | GetIndex () |
| Get the index of the buffer per local node. | |
| uint32_t | GetKeyCount () const |
| get number of stored keys | |
| uint32_t | GetKeySize () const |
| Get default size of keys stored in QBuffer. | |
| int64_t | GetLastKeyChargingTimeDuration () |
| Return time value about the time duration of last key charging process. | |
| uint64_t | GetMaxKeySizeBit () const |
| uint32_t | GetMaxNumberOfRecordedKeyChargingTimePeriods () const |
| Return the maximal number of values which are used for calculation of average key charging time period. | |
| uint32_t | GetMCurrentPrevious () const |
| Help function used for ploting graphs; Previous - before latest change. | |
| uint64_t | GetMinKeySizeBit () const |
| uint32_t | GetMmax () const |
| uint32_t | GetMmin () const |
| uint32_t | GetMthr () const |
| Get the threshold value of QKD storage The threshold value Mthr(t) at the time of measurement t is used to indicate the state of QKD buffer where it holds that Mthr(t) ≤ Mmax . | |
| uint32_t | GetPreviousState () |
| Fetch the previous state of the QBuffer. | |
| uint32_t | GetRemoteNodeId () const |
| Get the index of the remote node id. | |
| uint32_t | GetSrcKMSApplicationIndex () const |
| uint32_t | GetState () |
| Fetch the current state of the QBuffer. | |
| void | Init (uint32_t dstKmNodeId, uint32_t Mmin, uint32_t Mthr, uint32_t Mmax, uint32_t Mcurrent, uint32_t defaultKeySize) |
| initialize QBuffer | |
| void | InitTotalGraph () const |
| Help function for total graph ploting. | |
| void | KeyCalculation () |
| Help function used for ploting graphs. | |
| bool | operator== (QBuffer const &o) const |
| Assign operator. | |
| void | SetDescription (std::string val) |
| void | SetIndex (uint32_t) |
| Set the index of the buffer per local node. | |
| void | SetKeySize (uint32_t size) |
| Set default key size. | |
| void | SetMthr (uint32_t thr) |
| Set the threshold value of QKD storage. | |
| void | SetRemoteNodeId (uint32_t value) |
| Set the index of the remote node id. | |
| void | SetSrcKMSApplicationIndex (uint32_t &value) |
Public Member Functions inherited from ns3::Object | |
| Object () | |
| Constructor. | |
| ~Object () override | |
| Destructor. | |
| void | AggregateObject (Ptr< Object > other) |
| Aggregate two Objects together. | |
| void | Dispose () |
| Dispose of this Object. | |
| AggregateIterator | GetAggregateIterator () const |
| Get an iterator to the Objects aggregated to this one. | |
| TypeId | GetInstanceTypeId () const override |
| Get the most derived TypeId for this Object. | |
| template<typename T > | |
| Ptr< T > | GetObject () const |
| Get a pointer to the requested aggregated Object. | |
| template<> | |
| Ptr< Object > | GetObject () const |
| Specialization of () for objects of type ns3::Object. | |
| template<typename T > | |
| Ptr< T > | GetObject (TypeId tid) const |
| Get a pointer to the requested aggregated Object by TypeId. | |
| template<> | |
| Ptr< Object > | GetObject (TypeId tid) const |
| Specialization of (TypeId tid) for objects of type ns3::Object. | |
| void | Initialize () |
| Invoke DoInitialize on all Objects aggregated to this one. | |
| bool | IsInitialized () const |
| Check if the object has been initialized. | |
| void | UnidirectionalAggregateObject (Ptr< Object > other) |
| Aggregate an Object to another Object. | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| SimpleRefCount () | |
| Default constructor. | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor. | |
| uint32_t | GetReferenceCount () const |
| Get the reference count of the object. | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| Assignment operator. | |
| void | Ref () const |
| Increment the reference count. | |
| void | Unref () const |
| Decrement the reference count. | |
Public Member Functions inherited from ns3::ObjectBase | |
| virtual | ~ObjectBase () |
| Virtual destructor. | |
| void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const |
| Get the value of an attribute, raising fatal errors if unsuccessful. | |
| bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
| Get the value of an attribute without raising errors. | |
| void | SetAttribute (std::string name, const AttributeValue &value) |
| Set a single attribute, raising fatal errors if unsuccessful. | |
| bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
| Set a single attribute without raising errors. | |
| bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
| Connect a TraceSource to a Callback with a context. | |
| bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
| Connect a TraceSource to a Callback without a context. | |
| bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected with a context. | |
| bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected without a context. | |
Static Public Member Functions | |
| static TypeId | GetTypeId () |
| Get the TypeId. | |
Static Public Member Functions inherited from ns3::QBuffer | |
| static TypeId | GetTypeId () |
| Get the TypeId. | |
Static Public Member Functions inherited from ns3::Object | |
| static TypeId | GetTypeId () |
| Register this type. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Private Attributes | |
| uint32_t | m_currentStreamIndex |
| The last index when the S-Buffer is used for key stream sessions. | |
| uint32_t | m_defaultKeySizeSBufferDefault |
| uint32_t | m_maxKeyBitSBufferDefault |
| uint32_t | m_minKeyBitSBufferDefault |
| uint32_t | m_notReadyBitCount |
| Amount of key material stored that are not in READY state. | |
| uint32_t | m_notReadyKeyCount |
| Number of keys stored which are not in READY state. | |
| bool | m_relayActive |
| The state of S-Buffer will not trigger relay if relay is active. | |
| std::map< uint32_t, Ptr< QKDKey > > | m_stream_keys |
| Key stream session. | |
| std::map< std::string, Ptr< QKDKey > > | m_supply_keys |
| Created keys which are ready for supply to crypto applications. | |
| uint32_t | m_thresholdKeyBitSBufferDefault |
| SBuffer::Type | m_type |
| S-Buffer type. | |
Additional Inherited Members | |
Static Public Attributes inherited from ns3::QBuffer | |
| static const uint32_t | QSTATUS_CHARGING = 2 |
| QStatus CHARGING. | |
| static const uint32_t | QSTATUS_EMPTY = 3 |
| QStatus EMPTY. | |
| static const uint32_t | QSTATUS_READY = 0 |
| QStatus READY. | |
| static const uint32_t | QSTATUS_WARNING = 1 |
| QStatus WARNING. | |
Protected Member Functions inherited from ns3::QBuffer | |
| bool | DestroyKey (std::string keyId) |
| destroy key from the QBuffer | |
Protected Member Functions inherited from ns3::Object | |
| Object (const Object &o) | |
| Copy an Object. | |
| virtual void | DoDispose () |
| Destructor implementation. | |
| virtual void | NotifyNewAggregate () |
| Notify all Objects aggregated to this one of a new Object being aggregated. | |
Protected Member Functions inherited from ns3::ObjectBase | |
| void | ConstructSelf (const AttributeConstructionList &attributes) |
| Complete construction of ObjectBase; invoked by derived classes. | |
| virtual void | NotifyConstructionCompleted () |
| Notifier called once the ObjectBase is fully constructed. | |
Protected Attributes inherited from ns3::QBuffer | |
| double | m_averageKeyChargingTimePeriod |
| The average duration of key charging time period. | |
| TracedCallback< double > | m_averageKeyChargingTimePeriodTrace |
| uint32_t | m_bitsChargedInTimePeriod |
| Help value used for graph ploting and calculation of average post-processing duration. | |
| uint32_t | m_bitsUsedInTimePeriod |
| Help value used for detection of average key usage. | |
| uint32_t | m_bufferID |
| unique buffer ID | |
| double | m_c |
| average amount of key in the buffer during the recalculate time period | |
| EventId | m_calculateRoutingMetric |
| std::vector< int64_t > | m_chargingTimePeriods |
| Vector of durations of several last charging time periods. | |
| TracedCallback< double > | m_CMetricChangeTrace |
| uint32_t | m_currentKeyBit |
| The current amount of key material in QKD key storage. | |
| TracedCallback< uint32_t > | m_currentKeyBitChangeTrace |
| TracedCallback< uint32_t > | m_currentKeyBitDecreaseTrace |
| TracedCallback< uint32_t > | m_currentKeyBitIncreaseTrace |
| uint32_t | m_currentKeyBitPrevious |
| The previous value of current amount of key material in QKD key storage. | |
| uint32_t | m_defaultKeySize |
| std::string | m_description |
| uint32_t | m_dstKmNodeId |
| bool | m_isRisingCurve |
| whether curve on graph is rising or not | |
| std::unordered_map< std::string, Ptr< QKDKey > > | m_keys |
| key database | |
| TracedCallback< Ptr< QKDKey > > | m_keyServedTrace |
| int64_t | m_lastKeyChargingTimeDuration |
| The timestamp of last key usage. | |
| int64_t | m_lastKeyChargingTimeStamp |
| The timestamp of last key charging(when the new key material was added) | |
| uint32_t | m_maxKeyBit |
| uint32_t | m_maxNumberOfRecordedKeyChargingTimePeriods |
| The maximal number of values which are used for stored for calculation of average key charging time period. | |
| uint32_t | m_maxValueGraph |
| uint32_t | m_minKeyBit |
| TracedCallback< Ptr< QKDKey > > | m_newKeyAddedTrace |
| uint32_t | m_nextKeyID |
| ID of the next key to be generated. | |
| uint32_t | m_noAddNewValue |
| Help value used for graph ploting. | |
| uint32_t | m_noEntry |
| Help value used for graph ploting. | |
| uint32_t | m_period |
| Help value used for graph ploting. | |
| uint32_t | m_previousStatus |
| std::vector< struct QBuffer::data > | m_previousValues |
| Help vector used for graph ploting. | |
| uint32_t | m_recalculateTimePeriod |
| The period of time(in seconds) to calculate average amount of the key in the buffer Default value 5 - used in routing protocols for detection of information freshness. | |
| uint32_t | m_srcKMSApplicationIndex |
| uint32_t | m_srcNodeBufferListIndex |
| uint32_t | m_status |
| The state of the Net Device transmit state machine. | |
| TracedCallback< uint32_t > | m_StatusChangeTrace |
| uint32_t | m_thresholdKeyBit |
| TracedCallback< uint32_t > | m_thresholdKeyBitChangeTrace |
Static Protected Attributes inherited from ns3::QBuffer | |
| static uint32_t | nBuffers = 0 |
| number of created buffers - static value | |
Related Symbols inherited from ns3::ObjectBase | |
| static TypeId | GetObjectIid () |
| Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Sbuffer is a working buffer from which keys are served.
Introspection did not find any typical Config paths.
The SBuffer is filled with certain amount of key material from QBuffer, and is accessed to serve cryptographic application request.
No TraceSources are defined for this type.
Size of this type is 704 bytes (on a 64-bit architecture).
Definition at line 50 of file s-buffer.h.
S-Buffer Type.
| Enumerator | |
|---|---|
| LOCAL_SBUFFER | |
| RELAY_SBUFFER | |
| STREAM_SBUFFER | |
| E2E_SESSION | |
| LOCAL_SESSION | |
Definition at line 56 of file s-buffer.h.
| ns3::SBuffer::SBuffer | ( | ) |
QBuffer constructor.
Definition at line 62 of file s-buffer.cc.
References m_currentStreamIndex, m_notReadyBitCount, m_notReadyKeyCount, m_relayActive, and NS_LOG_FUNCTION.
| ns3::SBuffer::SBuffer | ( | SBuffer::Type | type, |
| uint32_t | size | ||
| ) |
SBuffer constructor.
Definition at line 99 of file s-buffer.cc.
References ns3::QBuffer::Configure(), m_currentStreamIndex, m_notReadyBitCount, m_notReadyKeyCount, m_relayActive, NS_LOG_FUNCTION, ns3::QBuffer::SetKeySize(), SetType(), and STREAM_SBUFFER.
Here is the call graph for this function:
|
override |
QBuffer destructor.
Definition at line 119 of file s-buffer.cc.
References ns3::QBuffer::m_keys, m_stream_keys, m_supply_keys, and NS_LOG_FUNCTION.
|
overridevirtual |
Initialize() implementation.
This method is called only once by Initialize(). If the user calls Initialize() multiple times, DoInitialize() is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject() and AggregateObject() from within this method.
Reimplemented from ns3::Object.
Definition at line 72 of file s-buffer.cc.
References ns3::Object::DoInitialize(), ns3::QBuffer::Init(), m_currentStreamIndex, ns3::QBuffer::m_defaultKeySize, m_defaultKeySizeSBufferDefault, ns3::QBuffer::m_dstKmNodeId, ns3::QBuffer::m_maxKeyBit, m_maxKeyBitSBufferDefault, ns3::QBuffer::m_minKeyBit, m_minKeyBitSBufferDefault, m_notReadyBitCount, m_notReadyKeyCount, m_relayActive, ns3::QBuffer::m_thresholdKeyBit, m_thresholdKeyBitSBufferDefault, and NS_LOG_FUNCTION.
Here is the call graph for this function:
|
inlineoverridevirtual |
get amount of stored key material in bits
Reimplemented from ns3::QBuffer.
Definition at line 167 of file s-buffer.h.
References ns3::QBuffer::m_currentKeyBit.
Referenced by GetSBitCount(), InsertKeyToStreamSession(), and StoreKey().
Here is the caller graph for this function:Get number of keys that are in default size.
| uint32_t | a target number of required keys |
This function is important when cosidereing the RELAY operation. The RELAY procedure can not make desicion based on available key count, because it does not include the transform operation in parallel.
Definition at line 143 of file s-buffer.cc.
References ns3::Create(), ns3::QBuffer::GetKeySize(), ns3::QBuffer::m_keys, NS_LOG_FUNCTION, and ns3::QKDKey::READY.
Here is the call graph for this function:Get portion of key.
| keyId | key identifier |
| size | portion size |
This function is called on s-buffer("dec"), as a counterpart to conditioned GetTransformCandidate function. It returns a portion of key, identified with keyId. In this case, the remaining portion is s-buffer remains in READY state.
Definition at line 420 of file s-buffer.cc.
References ns3::Create(), GetKey(), LogUpdate(), ns3::QBuffer::m_keys, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::value().
Here is the call graph for this function:
|
overridevirtual |
get key from QBuffer
| keyID | key identifier |
Reimplemented from ns3::QBuffer.
Definition at line 476 of file s-buffer.cc.
References ns3::QBuffer::CheckState(), ns3::Create(), ns3::QBuffer::GetKey(), LogUpdate(), and ns3::QKDKey::READY.
Here is the call graph for this function:Get key with given size.
| size | size of the key |
For relay purposes. We want to relay keys in default sizes! However, the LOCAL_SBUFFER contains keys in vaious sizes! Therefore, it is important to assure that we are getting the key which is in given size!
Definition at line 459 of file s-buffer.cc.
References ns3::Create(), GetKey(), ns3::QBuffer::m_keys, NS_LOG_FUNCTION, and ns3::QKDKey::READY.
Referenced by GetHalfKey(), GetKey(), GetTransformCandidate(), and MarkKey().
Here is the call graph for this function:
Here is the caller graph for this function:| uint32_t ns3::SBuffer::GetNextIndex | ( | ) |
Definition at line 658 of file s-buffer.cc.
References ns3::Create(), m_stream_keys, and NS_LOG_FUNCTION.
Here is the call graph for this function:| uint32_t ns3::SBuffer::GetSBitCount | ( | ) |
Get servable bit count.
Get amount of key material that is in READY state
Definition at line 181 of file s-buffer.cc.
References GetBitCount(), m_notReadyBitCount, and NS_LOG_FUNCTION.
Referenced by GetTransformCandidate(), and LogUpdate().
Here is the call graph for this function:
Here is the caller graph for this function:| uint32_t ns3::SBuffer::GetSKeyCount | ( | ) |
Get servable key count.
Get number of keys from s-buffer that are in READY state
Definition at line 171 of file s-buffer.cc.
References ns3::QBuffer::GetKeyCount(), m_notReadyKeyCount, and NS_LOG_FUNCTION.
Here is the call graph for this function:| uint32_t ns3::SBuffer::GetStreamIndex | ( | ) |
Definition at line 651 of file s-buffer.cc.
References m_currentStreamIndex, and NS_LOG_FUNCTION.
Returns key chunk with lowest index.
Definition at line 524 of file s-buffer.cc.
References ns3::QBuffer::CheckState(), ns3::Create(), LogUpdate(), m_stream_keys, NS_LOG_ERROR, NS_LOG_FUNCTION, and ns3::QKDKey::READY.
Here is the call graph for this function:| uint32_t ns3::SBuffer::GetStreamKeyCount | ( | ) |
Definition at line 637 of file s-buffer.cc.
References ns3::Create(), ns3::QBuffer::GetKeySize(), m_stream_keys, and NS_LOG_FUNCTION.
Here is the call graph for this function:Get supply key.
| keyId | key identifier |
Definition at line 505 of file s-buffer.cc.
References ns3::QBuffer::CheckState(), ns3::Create(), LogUpdate(), m_supply_keys, NS_LOG_ERROR, NS_LOG_FUNCTION, and ns3::QKDKey::READY.
Here is the call graph for this function:Get key candidate.
| size | target key size |
If the input size is equal to zero the function returns a random key from s-buffer. Otherwise, the funtion returns a key of the requested size. If such key is not available, larger key is modified and a portion of it is returned from the function, while remaining portion remains in s-buffer. Remaining key is marked as INIT, and is not servable until it gets in sync. This function is always called on s-buffers("enc").
Definition at line 288 of file s-buffer.cc.
References ns3::Create(), GetKey(), ns3::QBuffer::GetKeyCount(), GetSBitCount(), ns3::QKDKey::INIT, LogUpdate(), ns3::QBuffer::m_currentKeyBit, ns3::QBuffer::m_keys, MarkKey(), NS_ASSERT, NS_LOG_DEBUG, NS_LOG_FUNCTION, ns3::QKDKey::READY, and ns3::value().
Here is the call graph for this function:| SBuffer::Type ns3::SBuffer::GetType | ( | ) |
Get s-buffer type.
Definition at line 135 of file s-buffer.cc.
References m_type, and NS_LOG_FUNCTION.
Referenced by StoreSupplyKey().
Here is the caller graph for this function:
|
static |
Get the TypeId.
Definition at line 32 of file s-buffer.cc.
References ns3::Create(), m_defaultKeySizeSBufferDefault, m_maxKeyBitSBufferDefault, m_minKeyBitSBufferDefault, m_thresholdKeyBitSBufferDefault, ns3::MakeUintegerAccessor(), and ns3::TypeId::SetParent().
Here is the call graph for this function:Insert key to key stream session.
| key | secret key |
An input key may be reformated to create multiple key_chunks based on QoS criteria.
Definition at line 546 of file s-buffer.cc.
References ns3::Create(), GetBitCount(), ns3::QBuffer::GetKeySize(), ns3::GetSize(), LogUpdate(), m_currentStreamIndex, m_stream_keys, NS_LOG_FUNCTION, ns3::QKDKey::READY, and StoreSupplyKey().
Here is the call graph for this function:| bool ns3::SBuffer::IsRelayActive | ( | ) |
Definition at line 724 of file s-buffer.cc.
References m_relayActive, and NS_LOG_FUNCTION.
Log key consumption.
| diffValue | key consumption in bits |
| positive | increment or negative |
It is utilized from derived class S-Buffer when a portion of key is obtained from m_keys, to account for this key usage.
Reimplemented from ns3::QBuffer.
Definition at line 212 of file s-buffer.cc.
References ns3::QBuffer::CheckState(), ns3::Create(), ns3::QBuffer::GetKeyCount(), ns3::QBuffer::GetKeySize(), GetSBitCount(), ns3::QBuffer::m_bitsUsedInTimePeriod, ns3::QBuffer::m_currentKeyBit, ns3::QBuffer::m_currentKeyBitChangeTrace, ns3::QBuffer::m_keys, m_stream_keys, m_supply_keys, NS_ASSERT, NS_LOG_FUNCTION, and ns3::QKDKey::READY.
Referenced by GetHalfKey(), GetKey(), GetStreamKey(), GetSupplyKey(), GetTransformCandidate(), InsertKeyToStreamSession(), MarkKey(), StoreKey(), and StoreSupplyKey().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::SBuffer::MarkKey | ( | std::string | keyId, |
| QKDKey::QKDKeyState_e | state | ||
| ) |
Mark key.
| keyId | key identifier |
| state | new state |
Definition at line 669 of file s-buffer.cc.
References ns3::Create(), GetKey(), LogUpdate(), ns3::QBuffer::m_keys, m_notReadyBitCount, m_notReadyKeyCount, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::QKDKey::OBSOLETE, and ns3::QKDKey::READY.
Referenced by GetTransformCandidate().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::SBuffer::SetKeyLifetime | ( | std::string | keyId | ) |
Assign a lifetime to a key.
| keyId | key identifier |
Definition at line 711 of file s-buffer.cc.
References NS_LOG_FUNCTION.
| void ns3::SBuffer::SetRelayState | ( | bool | relayActive | ) |
Definition at line 717 of file s-buffer.cc.
References ns3::Create(), m_relayActive, and NS_LOG_FUNCTION.
Here is the call graph for this function:| void ns3::SBuffer::SetType | ( | SBuffer::Type | type | ) |
Set s-buffer type.
| type | the s-buffer type |
Definition at line 128 of file s-buffer.cc.
References m_type, and NS_LOG_FUNCTION.
Referenced by SBuffer().
Here is the caller graph for this function:store key in SBuffer
| Ptr<QKey> | key |
Definition at line 159 of file s-buffer.h.
References StoreKey().
Referenced by StoreKey().
Here is the call graph for this function:
Here is the caller graph for this function:store key in QBuffer
| Ptr<QKey> | key |
| bool | fireTraces |
Reimplemented from ns3::QBuffer.
Definition at line 192 of file s-buffer.cc.
References ns3::Create(), GetBitCount(), LogUpdate(), NS_LOG_FUNCTION, ns3::QKDKey::READY, and ns3::QBuffer::StoreKey().
Here is the call graph for this function:Store supply key.
| key | key |
Definition at line 487 of file s-buffer.cc.
References GetType(), LogUpdate(), m_stream_keys, m_supply_keys, NS_LOG_FUNCTION, ns3::QKDKey::READY, and STREAM_SBUFFER.
Referenced by InsertKeyToStreamSession().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
The last index when the S-Buffer is used for key stream sessions.
Definition at line 268 of file s-buffer.h.
Referenced by SBuffer(), SBuffer(), DoInitialize(), GetStreamIndex(), and InsertKeyToStreamSession().
|
private |
Definition at line 286 of file s-buffer.h.
Referenced by DoInitialize(), and GetTypeId().
|
private |
Definition at line 282 of file s-buffer.h.
Referenced by DoInitialize(), and GetTypeId().
|
private |
Definition at line 280 of file s-buffer.h.
Referenced by DoInitialize(), and GetTypeId().
|
private |
Amount of key material stored that are not in READY state.
Definition at line 272 of file s-buffer.h.
Referenced by SBuffer(), SBuffer(), DoInitialize(), GetSBitCount(), and MarkKey().
|
private |
Number of keys stored which are not in READY state.
Definition at line 270 of file s-buffer.h.
Referenced by SBuffer(), SBuffer(), DoInitialize(), GetSKeyCount(), and MarkKey().
|
private |
The state of S-Buffer will not trigger relay if relay is active.
Definition at line 274 of file s-buffer.h.
Referenced by SBuffer(), SBuffer(), DoInitialize(), IsRelayActive(), and SetRelayState().
Key stream session.
Definition at line 276 of file s-buffer.h.
Referenced by ~SBuffer(), GetNextIndex(), GetStreamKey(), GetStreamKeyCount(), InsertKeyToStreamSession(), LogUpdate(), and StoreSupplyKey().
Created keys which are ready for supply to crypto applications.
Definition at line 278 of file s-buffer.h.
Referenced by ~SBuffer(), GetSupplyKey(), LogUpdate(), and StoreSupplyKey().
|
private |
Definition at line 284 of file s-buffer.h.
Referenced by DoInitialize(), and GetTypeId().
|
private |