Skip to content

Commit

Permalink
Integrate biz proto types into proto package
Browse files Browse the repository at this point in the history
Former-commit-id: 949e212
  • Loading branch information
jbrady42 committed May 18, 2020
1 parent ac485f2 commit e232e04
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 55 deletions.
32 changes: 16 additions & 16 deletions pkg/node/biz/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ var (
midError = util.NewNpError(codeMIDErr, codeStr(codeMIDErr))
)

func login(peer *signal.Peer, msg LoginMsg) (interface{}, *nprotoo.Error) {
func login(peer *signal.Peer, msg proto.LoginMsg) (interface{}, *nprotoo.Error) {
log.Infof("biz.login peer.ID()=%s msg=%v", peer.ID(), msg)
//TODO auth check, maybe jwt
return emptyMap, nil
}

// join room
func join(peer *signal.Peer, msg JoinMsg) (interface{}, *nprotoo.Error) {
func join(peer *signal.Peer, msg proto.JoinMsg) (interface{}, *nprotoo.Error) {
log.Infof("biz.join peer.ID()=%s msg=%v", peer.ID(), msg)
rid := msg.Rid

Expand Down Expand Up @@ -81,7 +81,7 @@ func join(peer *signal.Peer, msg JoinMsg) (interface{}, *nprotoo.Error) {
return emptyMap, nil
}

func leave(peer *signal.Peer, msg LeaveMsg) (interface{}, *nprotoo.Error) {
func leave(peer *signal.Peer, msg proto.LeaveMsg) (interface{}, *nprotoo.Error) {
log.Infof("biz.leave peer.ID()=%s msg=%v", peer.ID(), msg)
defer util.Recover("biz.leave")

Expand All @@ -105,12 +105,12 @@ func leave(peer *signal.Peer, msg LeaveMsg) (interface{}, *nprotoo.Error) {
return emptyMap, nil
}

func clientClose(peer *signal.Peer, msg CloseMsg) (interface{}, *nprotoo.Error) {
func clientClose(peer *signal.Peer, msg proto.CloseMsg) (interface{}, *nprotoo.Error) {
log.Infof("biz.close peer.ID()=%s msg=%v", peer.ID(), msg)
return leave(peer, msg.LeaveMsg)
}

func publish(peer *signal.Peer, msg PublishMsg) (interface{}, *nprotoo.Error) {
func publish(peer *signal.Peer, msg proto.PublishMsg) (interface{}, *nprotoo.Error) {
log.Infof("biz.publish peer.ID()=%s", peer.ID())

nid, sfu, err := getRPCForSFU("")
Expand Down Expand Up @@ -146,11 +146,11 @@ func publish(peer *signal.Peer, msg PublishMsg) (interface{}, *nprotoo.Error) {
}

// unpublish from app
func unpublish(peer *signal.Peer, msg UnpublishMsg) (interface{}, *nprotoo.Error) {
func unpublish(peer *signal.Peer, msg proto.UnpublishMsg) (interface{}, *nprotoo.Error) {
log.Infof("signal.unpublish peer.ID()=%s msg=%v", peer.ID(), msg)

mid := msg.Mid
rid := msg.Rid
mid := msg.MID
rid := msg.RID
uid := peer.ID()

_, sfu, err := getRPCForSFU(mid)
Expand All @@ -174,9 +174,9 @@ func unpublish(peer *signal.Peer, msg UnpublishMsg) (interface{}, *nprotoo.Error
return emptyMap, nil
}

func subscribe(peer *signal.Peer, msg SubscribeMsg) (interface{}, *nprotoo.Error) {
func subscribe(peer *signal.Peer, msg proto.SubscribeMsg) (interface{}, *nprotoo.Error) {
log.Infof("biz.subscribe peer.ID()=%s ", peer.ID())
mid := msg.Mid
mid := msg.MID

// Validate
if mid == "" {
Expand Down Expand Up @@ -222,9 +222,9 @@ func subscribe(peer *signal.Peer, msg SubscribeMsg) (interface{}, *nprotoo.Error
return result, nil
}

func unsubscribe(peer *signal.Peer, msg UnsubscribeMsg) (interface{}, *nprotoo.Error) {
func unsubscribe(peer *signal.Peer, msg proto.UnsubscribeMsg) (interface{}, *nprotoo.Error) {
log.Infof("biz.unsubscribe peer.ID()=%s msg=%v", peer.ID(), msg)
mid := msg.Mid
mid := msg.MID

// Validate
if mid == "" {
Expand All @@ -247,7 +247,7 @@ func unsubscribe(peer *signal.Peer, msg UnsubscribeMsg) (interface{}, *nprotoo.E
return result, nil
}

func broadcast(peer *signal.Peer, msg BroadcastMsg) (interface{}, *nprotoo.Error) {
func broadcast(peer *signal.Peer, msg proto.BroadcastMsg) (interface{}, *nprotoo.Error) {
log.Infof("biz.broadcast peer.ID()=%s msg=%v", peer.ID(), msg)

// Validate
Expand All @@ -264,12 +264,12 @@ func broadcast(peer *signal.Peer, msg BroadcastMsg) (interface{}, *nprotoo.Error
return emptyMap, nil
}

func trickle(peer *signal.Peer, msg TrickleMsg) (interface{}, *nprotoo.Error) {
func trickle(peer *signal.Peer, msg proto.TrickleMsg) (interface{}, *nprotoo.Error) {
log.Infof("biz.trickle peer.ID()=%s msg=%v", peer.ID(), msg)
mid := msg.Mid
mid := msg.MID

// Validate
if msg.Rid == "" || msg.Uid == "" {
if msg.RID == "" || msg.UID == "" {
return nil, ridError
}

Expand Down
20 changes: 10 additions & 10 deletions pkg/node/biz/dispatch.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,79 +21,79 @@ func Entry(method string, peer *signal.Peer, msg json.RawMessage, accept signal.
//TODO DRY this up
switch method {
case proto.ClientClose:
var msgData CloseMsg
var msgData proto.CloseMsg
if err := json.Unmarshal(msg, &msgData); err != nil {
log.Infof("Marshal error")
topErr = parseErr
break
}
result, topErr = clientClose(peer, msgData)
case proto.ClientLogin:
var msgData LoginMsg
var msgData proto.LoginMsg
if err := json.Unmarshal(msg, &msgData); err != nil {
log.Infof("Marshal error")
topErr = parseErr
break
}
result, topErr = login(peer, msgData)
case proto.ClientJoin:
var msgData JoinMsg
var msgData proto.JoinMsg
if err := json.Unmarshal(msg, &msgData); err != nil {
log.Infof("Marshal error")
topErr = parseErr
break
}
result, topErr = join(peer, msgData)
case proto.ClientLeave:
var msgData LeaveMsg
var msgData proto.LeaveMsg
if err := json.Unmarshal(msg, &msgData); err != nil {
log.Infof("Marshal error")
topErr = parseErr
break
}
result, topErr = leave(peer, msgData)
case proto.ClientPublish:
var msgData PublishMsg
var msgData proto.PublishMsg
if err := json.Unmarshal(msg, &msgData); err != nil {
log.Infof("Marshal error")
topErr = parseErr
break
}
result, topErr = publish(peer, msgData)
case proto.ClientUnPublish:
var msgData UnpublishMsg
var msgData proto.UnpublishMsg
if err := json.Unmarshal(msg, &msgData); err != nil {
log.Infof("Marshal error")
topErr = parseErr
break
}
result, topErr = unpublish(peer, msgData)
case proto.ClientSubscribe:
var msgData SubscribeMsg
var msgData proto.SubscribeMsg
if err := json.Unmarshal(msg, &msgData); err != nil {
log.Infof("Marshal error")
topErr = parseErr
break
}
result, topErr = subscribe(peer, msgData)
case proto.ClientUnSubscribe:
var msgData UnsubscribeMsg
var msgData proto.UnsubscribeMsg
if err := json.Unmarshal(msg, &msgData); err != nil {
log.Infof("Marshal error")
topErr = parseErr
break
}
result, topErr = unsubscribe(peer, msgData)
case proto.ClientBroadcast:
var msgData BroadcastMsg
var msgData proto.BroadcastMsg
if err := json.Unmarshal(msg, &msgData); err != nil {
log.Infof("Marshal error")
topErr = parseErr
break
}
result, topErr = broadcast(peer, msgData)
case proto.ClientTrickleICE:
var msgData TrickleMsg
var msgData proto.TrickleMsg
if err := json.Unmarshal(msg, &msgData); err != nil {
log.Infof("Marshal error")
topErr = parseErr
Expand Down
30 changes: 6 additions & 24 deletions pkg/node/biz/messages.go → pkg/proto/biz.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package biz
package proto

import (
"encoding/json"

"github.com/pion/webrtc/v2"
)

type UserInfo struct {
type ClientUserInfo struct {
Name string `json:"name"`
}

Expand All @@ -15,23 +15,10 @@ type RoomInfo struct {
Uid string `json:"uid"`
}

type MediaInfo struct {
Mid string `json:"mid"`
}

type RTCInfo struct {
Jsep webrtc.SessionDescription `json:"jsep"`
}

type TrackInfo struct {
Type string `json:"type"`
Codec string `json:"codec"`
FMTP string `json:"fmtp"`
ID string `json:"id"`
PT int `json:"pt"`
SSRC int64 `json:"ssrc"`
}

type PublishOptions struct {
Codec string `json:"codec"`
Resolution string `json:"resolution"`
Expand All @@ -47,15 +34,15 @@ type TrackMap map[string][]TrackInfo

type JoinMsg struct {
RoomInfo
Info UserInfo `json:"info"`
Info ClientUserInfo `json:"info"`
}

type LoginMsg struct {
}

type LeaveMsg struct {
RoomInfo
Info UserInfo `json:"info"`
Info ClientUserInfo `json:"info"`
}

type CloseMsg struct {
Expand All @@ -75,12 +62,10 @@ type PublishResponseMsg struct {
}

type UnpublishMsg struct {
RoomInfo
MediaInfo
}

type SubscribeMsg struct {
RoomInfo
MediaInfo
RTCInfo
}
Expand All @@ -100,20 +85,17 @@ type BroadcastMsg struct {
}

type TrickleMsg struct {
RoomInfo
MediaInfo
Info json.RawMessage `json:"info"`
Trickle json.RawMessage `json:"trickle"`
}

type StreamAddMsg struct {
RoomInfo
MediaInfo
Info UserInfo `json:"info"`
Tracks TrackMap `json:"tracks"`
Info ClientUserInfo `json:"info"`
Tracks TrackMap `json:"tracks"`
}

type StreamRemoveMsg struct {
RoomInfo
MediaInfo
}
10 changes: 5 additions & 5 deletions pkg/proto/proto.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,11 @@ msid [{ssrc: 5678, pt: 96, type:video}]
*/

type MediaInfo struct {
DC string //Data Center ID
NID string //Node ID
RID string //Room ID
UID string //User ID
MID string //Media ID
DC string `json:"dc,omitempty"` //Data Center ID
NID string `json:"nid,omitempty"` //Node ID
RID string `json:"rid,omitempty"` //Room ID
UID string `json:"uid,omitempty"` //User ID
MID string `json:"mid,omitempty"` //Media ID
}

func (m MediaInfo) BuildKey() string {
Expand Down

0 comments on commit e232e04

Please sign in to comment.