aboutsummaryrefslogtreecommitdiffstats
path: root/simulation/marshaller.go
diff options
context:
space:
mode:
authorMission Liao <mission.liao@dexon.org>2018-11-05 18:02:53 +0800
committerJimmy Hu <jimmy.hu@dexon.org>2018-11-05 18:02:53 +0800
commitcd9f3011f58af965b910c0a1b0e27b22ccb30f23 (patch)
tree99838cb962d92bb78def33af2e7fd4583ae5770b /simulation/marshaller.go
parentc4541185c1d2502dffe09de1af52594f6fae16a6 (diff)
downloaddexon-consensus-cd9f3011f58af965b910c0a1b0e27b22ccb30f23.tar
dexon-consensus-cd9f3011f58af965b910c0a1b0e27b22ccb30f23.tar.gz
dexon-consensus-cd9f3011f58af965b910c0a1b0e27b22ccb30f23.tar.bz2
dexon-consensus-cd9f3011f58af965b910c0a1b0e27b22ccb30f23.tar.lz
dexon-consensus-cd9f3011f58af965b910c0a1b0e27b22ccb30f23.tar.xz
dexon-consensus-cd9f3011f58af965b910c0a1b0e27b22ccb30f23.tar.zst
dexon-consensus-cd9f3011f58af965b910c0a1b0e27b22ccb30f23.zip
test: move simulation.network to test package (#297)
Diffstat (limited to 'simulation/marshaller.go')
-rw-r--r--simulation/marshaller.go93
1 files changed, 8 insertions, 85 deletions
diff --git a/simulation/marshaller.go b/simulation/marshaller.go
index 61988b8..86eab3e 100644
--- a/simulation/marshaller.go
+++ b/simulation/marshaller.go
@@ -20,9 +20,6 @@ package simulation
import (
"encoding/json"
"fmt"
-
- "github.com/dexon-foundation/dexon-consensus/core/types"
- typesDKG "github.com/dexon-foundation/dexon-consensus/core/types/dkg"
)
// jsonMarshaller implements test.Marshaller to marshal simulation related
@@ -32,8 +29,13 @@ type jsonMarshaller struct{}
// Unmarshal implements Unmarshal method of test.Marshaller interface.
func (m *jsonMarshaller) Unmarshal(
msgType string, payload []byte) (msg interface{}, err error) {
-
switch msgType {
+ case "info-status":
+ var status infoStatus
+ if err = json.Unmarshal(payload, &status); err != nil {
+ break
+ }
+ msg = status
case "blocklist":
var blocks BlockList
if err = json.Unmarshal(payload, &blocks); err != nil {
@@ -46,66 +48,6 @@ func (m *jsonMarshaller) Unmarshal(
break
}
msg = &m
- case "info-status":
- var status infoStatus
- if err = json.Unmarshal(payload, &status); err != nil {
- break
- }
- msg = status
- case "block":
- block := &types.Block{}
- if err = json.Unmarshal(payload, block); err != nil {
- break
- }
- msg = block
- case "vote":
- vote := &types.Vote{}
- if err = json.Unmarshal(payload, vote); err != nil {
- break
- }
- msg = vote
- case "block-randomness-request":
- request := &types.AgreementResult{}
- if err = json.Unmarshal(payload, request); err != nil {
- break
- }
- msg = request
- case "block-randomness-result":
- result := &types.BlockRandomnessResult{}
- if err = json.Unmarshal(payload, result); err != nil {
- break
- }
- msg = result
- case "dkg-private-share":
- privateShare := &typesDKG.PrivateShare{}
- if err = json.Unmarshal(payload, privateShare); err != nil {
- break
- }
- msg = privateShare
- case "dkg-master-public-key":
- masterPublicKey := typesDKG.NewMasterPublicKey()
- if err = json.Unmarshal(payload, masterPublicKey); err != nil {
- break
- }
- msg = masterPublicKey
- case "dkg-complaint":
- complaint := &typesDKG.Complaint{}
- if err = json.Unmarshal(payload, complaint); err != nil {
- break
- }
- msg = complaint
- case "dkg-partial-signature":
- psig := &typesDKG.PartialSignature{}
- if err = json.Unmarshal(payload, psig); err != nil {
- break
- }
- msg = psig
- case "dkg-finalize":
- final := &typesDKG.Finalize{}
- if err = json.Unmarshal(payload, final); err != nil {
- break
- }
- msg = final
default:
err = fmt.Errorf("unrecognized message type: %v", msgType)
}
@@ -118,32 +60,13 @@ func (m *jsonMarshaller) Unmarshal(
// Marshal implements Marshal method of test.Marshaller interface.
func (m *jsonMarshaller) Marshal(msg interface{}) (
msgType string, payload []byte, err error) {
-
switch msg.(type) {
+ case infoStatus:
+ msgType = "info-status"
case *BlockList:
msgType = "blocklist"
case *message:
msgType = "message"
- case infoStatus:
- msgType = "info-status"
- case *types.Block:
- msgType = "block"
- case *types.Vote:
- msgType = "vote"
- case *types.AgreementResult:
- msgType = "block-randomness-request"
- case *types.BlockRandomnessResult:
- msgType = "block-randomness-result"
- case *typesDKG.PrivateShare:
- msgType = "dkg-private-share"
- case *typesDKG.MasterPublicKey:
- msgType = "dkg-master-public-key"
- case *typesDKG.Complaint:
- msgType = "dkg-complaint"
- case *typesDKG.PartialSignature:
- msgType = "dkg-partial-signature"
- case *typesDKG.Finalize:
- msgType = "dkg-finalize"
default:
err = fmt.Errorf("unknwon message type: %v", msg)
}