summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2017-05-06 00:35:56 +0200
committerChristian Pointner <equinox@spreadspace.org>2017-05-06 00:35:56 +0200
commit4f0d1b60b09422dc3fbf94d6f853bf72fb6c7f9b (patch)
treeda793a4657b4cf1b11038c834af0b7522fc9048b /src
parentremove now uneeded retry for append (diff)
added additional protocol fields for forwarder hubs
Diffstat (limited to 'src')
-rw-r--r--src/hub/src/spreadspace.org/sfive/s5store_test.go20
-rw-r--r--src/hub/src/spreadspace.org/sfive/s5typesApi.go8
2 files changed, 19 insertions, 9 deletions
diff --git a/src/hub/src/spreadspace.org/sfive/s5store_test.go b/src/hub/src/spreadspace.org/sfive/s5store_test.go
index 3284c87..91d51ee 100644
--- a/src/hub/src/spreadspace.org/sfive/s5store_test.go
+++ b/src/hub/src/spreadspace.org/sfive/s5store_test.go
@@ -303,7 +303,7 @@ func TestAppendAndFetch(t *testing.T) {
upd := updateData
upd.StartTime = time.Date(2014, time.August, 24, 14, 35, 33, 847000000, time.UTC)
upd.Data.Clients = clientsData
- in := DataUpdateFull{0, "", -1, sourceData, upd}
+ in := DataUpdateFull{0, "", -1, "", -1, sourceData, upd}
if err = store.Append(in); err != nil {
t.Fatalf("failed to append update: %v", err)
@@ -318,6 +318,8 @@ func TestAppendAndFetch(t *testing.T) {
expected := in
expected.SourceHubUuid = store.GetStoreId()
expected.SourceHubDataUpdateId = 1
+ expected.ForwardHubUuid = ""
+ expected.ForwardHubDataUpdateId = 0
if !reflect.DeepEqual(expected, out) {
t.Fatalf("failed to fetch update\nactual: %v\nexpected: %v\n", out, expected)
@@ -326,10 +328,10 @@ func TestAppendAndFetch(t *testing.T) {
// append many
var ins []DataUpdateFull
upd.StartTime = upd.StartTime.Add(time.Duration(upd.Duration) * time.Millisecond)
- ins = append(ins, DataUpdateFull{0, "", -1, sourceData, upd})
+ ins = append(ins, DataUpdateFull{0, "", -1, "", -1, sourceData, upd})
upd.StartTime = upd.StartTime.Add(time.Duration(upd.Duration) * time.Millisecond)
upd.Data.Clients = nil
- ins = append(ins, DataUpdateFull{0, "", -1, sourceData, upd})
+ ins = append(ins, DataUpdateFull{0, "", -1, "", -1, sourceData, upd})
if err = store.AppendMany(ins); err != nil {
t.Fatalf("failed to append update: %v", err)
}
@@ -344,6 +346,8 @@ func TestAppendAndFetch(t *testing.T) {
expected = ins[i]
expected.SourceHubUuid = store.GetStoreId()
expected.SourceHubDataUpdateId = i + 2
+ expected.ForwardHubUuid = ""
+ expected.ForwardHubDataUpdateId = 0
if !reflect.DeepEqual(expected, out) {
t.Fatalf("failed to fetch update\nactual: %v\nexpected: %v\n", out, expected)
@@ -367,7 +371,7 @@ func TestReadOnly(t *testing.T) {
upd := updateData
upd.StartTime = time.Date(2014, time.August, 24, 14, 35, 33, 847000000, time.UTC)
upd.Data.Clients = clientsData
- in := DataUpdateFull{0, "", -1, sourceData, upd}
+ in := DataUpdateFull{0, "", -1, "", -1, sourceData, upd}
if err = store.Append(in); err != nil {
t.Fatalf("unexpected error: %v", err)
}
@@ -406,13 +410,15 @@ func TestGetUpdatesAfter(t *testing.T) {
expected := []DataUpdateFull{}
for i := 0; i < 3; i = i + 1 {
- in := DataUpdateFull{0, "", -1, sourceData, upd}
+ in := DataUpdateFull{0, "", -1, "", -1, sourceData, upd}
if err = store.Append(in); err != nil {
t.Fatalf("unexpected error: %v", err)
}
e := in
e.SourceHubUuid = store.hubUuid
e.SourceHubDataUpdateId = i + 1
+ e.ForwardHubUuid = ""
+ e.ForwardHubDataUpdateId = 0
expected = append(expected, e)
upd.StartTime = upd.StartTime.Add(time.Duration(upd.Duration) * time.Millisecond)
}
@@ -522,9 +528,11 @@ func TestForwardedDataUpdates(t *testing.T) {
expected := []DataUpdateFull{}
for i := 0; i < 3; i = i + 1 {
- in := DataUpdateFull{0, "", -1, sourceData, upd}
+ in := DataUpdateFull{0, "", -1, "", -1, sourceData, upd}
in.SourceHubUuid = forwardedHub
in.SourceHubDataUpdateId = 3 - i // out of order
+ in.ForwardHubUuid = ""
+ in.ForwardHubDataUpdateId = 0
if err = store.Append(in); err != nil {
t.Fatalf("unexpected error: %v", err)
}
diff --git a/src/hub/src/spreadspace.org/sfive/s5typesApi.go b/src/hub/src/spreadspace.org/sfive/s5typesApi.go
index 265380c..12e92c8 100644
--- a/src/hub/src/spreadspace.org/sfive/s5typesApi.go
+++ b/src/hub/src/spreadspace.org/sfive/s5typesApi.go
@@ -66,9 +66,11 @@ type DataUpdate struct {
}
type DataUpdateFull struct {
- Version uint `json:"version"`
- SourceHubUuid string `json:"SourceHubUuid,omitempty"`
- SourceHubDataUpdateId int `json:"SourceHubDataUpdateId,omitempty"`
+ Version uint `json:"version"`
+ SourceHubUuid string `json:"SourceHubUuid,omitempty"`
+ SourceHubDataUpdateId int `json:"SourceHubDataUpdateId,omitempty"`
+ ForwardHubUuid string `json:"ForwardHubUuid,omitempty"`
+ ForwardHubDataUpdateId int `json:"ForwardHubDataUpdateId,omitempty"`
SourceId
DataUpdate
}