From f2e110680d158559aaa64ecf9961e930d8b22abe Mon Sep 17 00:00:00 2001 From: nisdas Date: Thu, 19 Apr 2018 01:07:39 +0800 Subject: [PATCH] sharding/client: Add utils.go for blob serialization(#92) Former-commit-id: 553671c1f1e1e1cb50c16fce53ecf0a5acc0595c [formerly 454f56eb8103b7a2b341ec2852c849611c55a1c0] Former-commit-id: 1a8305e422b5dcc1173afc0ed9d81c49ce426eb0 --- sharding/client/utils.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 sharding/client/utils.go diff --git a/sharding/client/utils.go b/sharding/client/utils.go new file mode 100644 index 0000000000..a4c577ec81 --- /dev/null +++ b/sharding/client/utils.go @@ -0,0 +1,39 @@ +package client + +import ( + "fmt" +) + +type collationbody []byte + +var ( + collationsizelimit = int64(2 * *20) + chunkSize = int64(32) + indicatorSize = int64(1) + chunkDataSize = chunkSize - indicatorSize +) + +func (c *collationbody) validateBody() bool { + return len(c) < 2^20 && len(c) > 0 +} + +func createChunks(c collationbody) { + validCollation, err := c.validateBody + if err != nil { + fmt.Errorf("Error %v", err) + } + if !validCollation { + fmt.Errorf("Error %v", err) + } + index := int64(len(c)) / chunkDataSize + + /* + for i = 0; i < index; i++ { + serialisedblob[i*chunksize] = 0 + for f = 0; f