diff --git a/README.md b/README.md
index 80b314b..aafe370 100644
--- a/README.md
+++ b/README.md
@@ -46,7 +46,7 @@ DTM是首款golang的开源分布式事务管理器,优雅的解决了幂等
|AT事务|✗|✓|AT与XA类似,性能更好,但有脏回滚|
| SAGA事务 |简单模式 |状态机复杂模式 |dtm的状态机模式在规划中|
|事务消息|✓|✗|dtm提供类似rocketmq的事务消息|
-|通信协议|HTTP|dubbo等协议,无HTTP|dtm后续将支持grpc类协议|
+|通信协议|HTTP、GRPC|dubbo等协议,无HTTP||
|star数量|
|
|dtm从20210604发布0.1,发展快|
从上面对比的特性来看,如果您的语言栈包含了Java之外的语言,那么dtm是您的首选。如果您的语言栈是Java,您也可以选择接入dtm,使用子事务屏障技术,简化您的业务编写。
diff --git a/dtmgrpc/barrier.go b/dtmgrpc/barrier.go
index 468407a..b68c5ee 100644
--- a/dtmgrpc/barrier.go
+++ b/dtmgrpc/barrier.go
@@ -27,3 +27,11 @@ func (bb *BranchBarrier) Call(db *sql.DB, busiCall dtmcli.BusiFunc) (rerr error)
}
return err
}
+
+// BarrierFromGrpc 从BusiRequest生成一个Barrier
+func BarrierFromGrpc(in *BusiRequest) (*BranchBarrier, error) {
+ b, err := dtmcli.BarrierFrom(in.Info.TransType, in.Info.Gid, in.Info.BranchID, in.Info.BranchType)
+ return &BranchBarrier{
+ BranchBarrier: b,
+ }, err
+}
diff --git a/examples/base_types.go b/examples/base_types.go
index 3c41b7e..87a57b3 100644
--- a/examples/base_types.go
+++ b/examples/base_types.go
@@ -79,8 +79,8 @@ func MustBarrierFromGin(c *gin.Context) *dtmcli.BranchBarrier {
}
// MustBarrierFromGrpc 1
-func MustBarrierFromGrpc(in *dtmgrpc.BusiRequest) *dtmcli.BranchBarrier {
- ti, err := dtmcli.BarrierFrom(in.Info.TransType, in.Info.Gid, in.Info.BranchID, in.Info.BranchType)
+func MustBarrierFromGrpc(in *dtmgrpc.BusiRequest) *dtmgrpc.BranchBarrier {
+ ti, err := dtmgrpc.BarrierFromGrpc(in)
dtmcli.FatalIfError(err)
return ti
}