Universally unique identifier (UUID) More...
#include "uuid.h"
Collaboration diagram for ns3::UUID:Public Member Functions | |
| UUID () | |
| Default constructor. More... | |
| UUID (const std::array< uint8_t, 16 > &data) | |
| Initialize UUID with a given 16 bytes data buffer. More... | |
| UUID (const std::string &uuid) | |
| Initialize UUID with a given string. More... | |
| UUID (const UUID &)=default | |
| UUID (UUID &&) noexcept=default | |
| ~UUID ()=default | |
| const std::array< uint8_t, 16 > & | data () const noexcept |
| Get the UUID data buffer. More... | |
| std::array< uint8_t, 16 > & | data () noexcept |
| Get the UUID data buffer. More... | |
| operator bool () const noexcept | |
| Check if the UUID is nil UUID0 (all bits set to zero) More... | |
| UUID & | operator= (const std::array< uint8_t, 16 > &data) |
| UUID & | operator= (const std::string &uuid) |
| UUID & | operator= (const UUID &)=default |
| UUID & | operator= (UUID &&) noexcept=default |
| std::string | string () const |
| Get string from the current UUID in format "00000000-0000-0000-0000-000000000000". More... | |
| void | swap (UUID &uuid) noexcept |
| Swap two instances. More... | |
Static Public Member Functions | |
| static UUID | Nil () |
| Generate nil UUID0 (all bits set to zero) More... | |
| static UUID | Random () |
| Generate random UUID4 (randomly or pseudo-randomly generated version) More... | |
| static UUID | Sequential () |
| Generate sequential UUID1 (time based version) More... | |
Private Attributes | |
| std::array< uint8_t, 16 > | _data |
Friends | |
| bool | operator!= (const UUID &uuid1, const UUID &uuid2) |
| bool | operator< (const UUID &uuid1, const UUID &uuid2) |
| std::ostream & | operator<< (std::ostream &os, const UUID &uuid) |
| Output instance into the given output stream. More... | |
| bool | operator<= (const UUID &uuid1, const UUID &uuid2) |
| bool | operator== (const UUID &uuid1, const UUID &uuid2) |
| bool | operator> (const UUID &uuid1, const UUID &uuid2) |
| bool | operator>= (const UUID &uuid1, const UUID &uuid2) |
| void | swap (UUID &uuid1, UUID &uuid2) noexcept |
Universally unique identifier (UUID)
A universally unique identifier (UUID) is an identifier standard used in software construction. This implementation generates the following UUID types:
A UUID is simply a 128-bit value: "123e4567-e89b-12d3-a456-426655440000"
Not thread-safe.
https://en.wikipedia.org/wiki/Universally_unique_identifier https://www.ietf.org/rfc/rfc4122.txt
|
inline |
Default constructor.
Definition at line 38 of file uuid.h.
References _data.
Referenced by Nil(), and operator=().
Here is the caller graph for this function:
|
explicit |
|
inlineexplicit |
|
default |
|
defaultnoexcept |
|
default |
|
inlinenoexcept |
|
inlinenoexcept |
Get the UUID data buffer.
Definition at line 78 of file uuid.h.
References _data.
Referenced by operator=().
Here is the caller graph for this function:
|
inlinestatic |
Generate nil UUID0 (all bits set to zero)
Definition at line 86 of file uuid.h.
References UUID().
Referenced by operator bool(), and ns3::QKDKeyManagerSystemApplication::RegisterApplicationEntry().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineexplicitnoexcept |
|
inline |
|
inline |
|
static |
Generate random UUID4 (randomly or pseudo-randomly generated version)
Definition at line 148 of file uuid.cc.
References _data, and NS_FATAL_ERROR.
Referenced by ns3::QKDApp004::QKDApp004(), ns3::QKDApp014::QKDApp014(), ns3::QKDApplicationEntry::QKDApplicationEntry(), ns3::QKDKeyAssociationLinkEntry::QKDKeyAssociationLinkEntry(), ns3::QKDKeyManagerSystemApplication::GenerateKeyId(), and ns3::QKDKeyManagerSystemApplication::GenerateKsid().
Here is the caller graph for this function:
|
static |
Generate sequential UUID1 (time based version)
Definition at line 92 of file uuid.cc.
References _data, and NS_FATAL_ERROR.
Referenced by ns3::QKDApp004::SendMaliciousRequestToKMS().
Here is the caller graph for this function:| std::string ns3::UUID::string | ( | ) | const |
Get string from the current UUID in format "00000000-0000-0000-0000-000000000000".
Definition at line 74 of file uuid.cc.
References _data.
Referenced by ns3::QKDConnectionRegister::AddKeyAssociationEntry(), ns3::QKDKeyManagerSystemApplication::AddNewLink(), ns3::QKDApp004::CreateKeyQueues(), ns3::QKDApp014::DataPacketReceivedFromApp(), ns3::QKDKeyManagerSystemApplication::GenerateKeyId(), ns3::QKDKeyManagerSystemApplication::GenerateKsid(), ns3::QKDApp014::GetKeysFromKMS(), ns3::QKDApp014::GetStatusFromKMS(), ns3::QKDKeyManagerSystemApplication::NegotiateKeysForAssociation(), ns3::QKDApp004::OpenConnect(), ns3::QKDKeyManagerSystemApplication::ProcessAddKeysRequest(), ns3::QKDKeyManagerSystemApplication::ProcessAddKeysResponse(), ns3::QKDKeyManagerSystemApplication::ProcessCloseRequest(), ns3::QKDKeyManagerSystemApplication::ProcessGetKey004Request(), ns3::QKDKeyManagerSystemApplication::ProcessNewAppRequest(), ns3::QKDKeyManagerSystemApplication::ProcessNewAppResponse(), ns3::QKDKeyManagerSystemApplication::ProcessOpenConnectRequest(), ns3::QKDKeyManagerSystemApplication::ProcessQoSRequest(), ns3::QKDKeyManagerSystemApplication::ProcessRequest(), ns3::QKDKeyManagerSystemApplication::ProcessTransformRequest(), ns3::QKDKeyManagerSystemApplication::ProcessTransformResponse(), ns3::QKDKeyManagerSystemApplication::RegisterApplicationEntry(), ns3::QKDControl::RegisterQKDApplications(), ns3::QKDKeyManagerSystemApplication::ReleaseAssociation(), ns3::QKDApp004::SendKsidRequest(), ns3::QKDApp004::SendMaliciousRequestToKMS(), ns3::QKDApp014::SendPacket(), ns3::QKDKeyManagerSystemApplication::SendQKDLinkStatusToSDN(), and ns3::QKDKeyManagerSystemApplication::TransformKeys().
Here is the caller graph for this function:
|
inlinenoexcept |
Swap two instances.
Definition at line 205 of file uuid.cc.
References ns3::swap().
Here is the call graph for this function:
|
friend |
|
private |
Definition at line 101 of file uuid.h.
Referenced by UUID(), data(), operator=(), Random(), Sequential(), and string().