This is an automated email from the ASF dual-hosted git repository.

hanahmily pushed a commit to branch feat/liasion
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git

commit 4834d500998e24fa3bc92328e0c722edaf01b7f4
Author: Qiuxia Fan <[email protected]>
AuthorDate: Thu Jun 17 21:46:41 2021 +0800

    write traces
---
 api/fbs/v1/write.fbs         |  2 ++
 banyand/liaison/grpc/grpc.go | 47 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 49 insertions(+)

diff --git a/api/fbs/v1/write.fbs b/api/fbs/v1/write.fbs
index 57e1378..794bbbd 100644
--- a/api/fbs/v1/write.fbs
+++ b/api/fbs/v1/write.fbs
@@ -70,3 +70,5 @@ table WriteEntity {
 }
 
 table WriteResponse {}
+
+root_type WriteEntity;
diff --git a/banyand/liaison/grpc/grpc.go b/banyand/liaison/grpc/grpc.go
index cdf7e71..ae3457d 100644
--- a/banyand/liaison/grpc/grpc.go
+++ b/banyand/liaison/grpc/grpc.go
@@ -25,6 +25,7 @@ import (
        grpclib "google.golang.org/grpc"
        "google.golang.org/grpc/encoding"
 
+       v1 "github.com/apache/skywalking-banyandb/api/fbs/v1"
        "github.com/apache/skywalking-banyandb/banyand/queue"
        "github.com/apache/skywalking-banyandb/pkg/logger"
        "github.com/apache/skywalking-banyandb/pkg/run"
@@ -72,3 +73,49 @@ func (s *Server) GracefulStop() {
        s.log.Info("stopping")
        s.ser.GracefulStop()
 }
+
+func (s *Server) WriteTraces(context context.Context, in *v1.WriteEntity) 
(*flatbuffers.Builder, error) {
+       s.log.Info("Write called...")
+       builder := flatbuffers.NewBuilder(0)
+       // Serialize MetaData
+       name := builder.CreateString("name")
+       group := builder.CreateString("group")
+       v1.MetadataStart(builder)
+       v1.MetadataAddGroup(builder, group)
+       v1.MetadataAddName(builder, name)
+       v1.MetadataEnd(builder)
+       // Serialize Field
+       v1.FieldStart(builder)
+       v1.FieldAddValueType(builder, v1.ValueTypeString)
+       field := builder.CreateString("test")
+       v1.FieldAddValue(builder, field)
+       v1.FieldEnd(builder)
+       // Serialize WriteEntity
+       dataBinaryLength := v1.EntityValue.DataBinaryLength(v1.EntityValue{})
+       v1.EntityStartDataBinaryVector(builder, dataBinaryLength)
+       for i := dataBinaryLength; i >= 0; i-- {
+               builder.PrependByte(byte(i))
+       }
+       dataBinary := builder.EndVector(dataBinaryLength)
+       entityId := builder.CreateString("id")
+       v1.EntityValueStart(builder)
+       v1.EntityValueAddEntityId(builder, entityId)
+       v1.EntityValueAddTimestampNanoseconds(builder, 1613526708000)
+       v1.EntityValueAddDataBinary(builder, dataBinary)
+       v1.EntityValueStartFieldsVector(builder, 1)
+       builder.PrependUOffsetT(field)
+       fields := builder.EndVector(1)
+       v1.EntityValueAddFields(builder, fields)
+       v1.EntityValueEnd(builder)
+
+       builder.Finish(v1.WriteResponseEnd(builder))
+
+       return builder, nil
+}
+
+func (s *Server) FetchTraces(ctx context.Context, in *v1.EntityCriteria) 
(*flatbuffers.Builder, error) {
+       s.log.Info("Fetch called...")
+       builder := flatbuffers.NewBuilder(0)
+
+       return builder, nil
+}

Reply via email to