MCPcopy Create free account
hub / github.com/beeker1121/goque / OpenPrefixQueue

Function OpenPrefixQueue

prefix_queue.go:43–71  ·  view source on GitHub ↗

OpenPrefixQueue opens a prefix queue if one exists at the given directory. If one does not already exist, a new prefix queue is created.

(dataDir string)

Source from the content-addressed store, hash-verified

41// OpenPrefixQueue opens a prefix queue if one exists at the given directory.
42// If one does not already exist, a new prefix queue is created.
43func OpenPrefixQueue(dataDir string) (*PrefixQueue, error) {
44 var err error
45
46 // Create a new Queue.
47 pq := &PrefixQueue{
48 DataDir: dataDir,
49 db: &leveldb.DB{},
50 isOpen: false,
51 }
52
53 // Open database for the prefix queue.
54 pq.db, err = leveldb.OpenFile(dataDir, nil)
55 if err != nil {
56 return nil, err
57 }
58
59 // Check if this Goque type can open the requested data directory.
60 ok, err := checkGoqueType(dataDir, goquePrefixQueue)
61 if err != nil {
62 return nil, err
63 }
64 if !ok {
65 return nil, ErrIncompatibleType
66 }
67
68 // Set isOpen and return.
69 pq.isOpen = true
70 return pq, pq.init()
71}
72
73// Enqueue adds an item to the queue.
74func (pq *PrefixQueue) Enqueue(prefix, value []byte) (*Item, error) {

Callers 15

Example_prefixQueueFunction · 0.92
TestPrefixQueueCloseFunction · 0.85
TestPrefixQueueDropFunction · 0.85
TestPrefixQueueEnqueueFunction · 0.85
TestPrefixQueueDequeueFunction · 0.85
TestPrefixQueuePeekFunction · 0.85
TestPrefixQueuePeekByIDFunction · 0.85
TestPrefixQueueUpdateFunction · 0.85

Calls 2

initMethod · 0.95
checkGoqueTypeFunction · 0.85

Tested by 15

Example_prefixQueueFunction · 0.74
TestPrefixQueueCloseFunction · 0.68
TestPrefixQueueDropFunction · 0.68
TestPrefixQueueEnqueueFunction · 0.68
TestPrefixQueueDequeueFunction · 0.68
TestPrefixQueuePeekFunction · 0.68
TestPrefixQueuePeekByIDFunction · 0.68
TestPrefixQueueUpdateFunction · 0.68