aboutsummaryrefslogtreecommitdiff
path: root/rtdb
diff options
context:
space:
mode:
authorJarkko Pöyry <jpoyry@google.com>2015-04-07 16:15:42 -0700
committerJarkko Pöyry <jpoyry@google.com>2015-06-01 15:21:03 -0700
commit62f5c2d83d2f6c8f1a36c42a66bb6637eec3620e (patch)
treeac149a31f4ed3c7dd89c3993f48830e096abe766 /rtdb
parentc74eb2edbd18eb1b072f50c48faba2ab2ff3bfc9 (diff)
downloadcherry-62f5c2d83d2f6c8f1a36c42a66bb6637eec3620e.tar.gz
Use nanoseconds instead of seconds as unique db ID.
Bug: 20107511 Change-Id: Ia1b4e6e788241f45e26caf95c59c8d01bd8ed5f4
Diffstat (limited to 'rtdb')
-rw-r--r--rtdb/rtdb.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/rtdb/rtdb.go b/rtdb/rtdb.go
index 2ef7e75..e25a512 100644
--- a/rtdb/rtdb.go
+++ b/rtdb/rtdb.go
@@ -22,6 +22,8 @@ import (
"fmt"
"log"
"reflect"
+ "time"
+ "strconv"
)
type Object struct {
@@ -507,3 +509,12 @@ func (server *Server) GetExplicitTypeObject (obj TypedObject, dst ObjectBase) er
}
return <- ret
}
+
+func (server *Server) MakeUniqueID () string {
+ ret := make(chan string)
+ server.requestQueue <- func() {
+ // requestQueue serializes accesses -> time will be unique
+ ret <- strconv.FormatInt(time.Now().UnixNano(), 10)
+ }
+ return <- ret
+}