Skip to content

Commit

Permalink
Add frame type (#18)
Browse files Browse the repository at this point in the history
  • Loading branch information
FZambia committed Oct 22, 2023
1 parent 1790863 commit 7db7d81
Show file tree
Hide file tree
Showing 3 changed files with 89 additions and 6 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Expand Up @@ -10,11 +10,11 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
with:
go-version: '1.17.x'
go-version: '1.21.x'
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
version: v1.45.2
version: v1.54.2
args: --timeout 3m0s
build:
name: Test with Go ${{ matrix.go-version }}
Expand All @@ -23,15 +23,15 @@ jobs:
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
strategy:
matrix:
go-version: [1.15, 1.16]
go-version: ["1.20", "1.21"]
steps:
- name: Install Go stable version
uses: actions/setup-go@v2
uses: actions/setup-go@v4
with:
go-version: ${{ matrix.go-version }}

- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Test
run: go test -v
2 changes: 1 addition & 1 deletion go.mod
@@ -1,6 +1,6 @@
module github.com/centrifugal/protocol

go 1.19
go 1.20

require (
github.com/mailru/easyjson v0.7.7
Expand Down
83 changes: 83 additions & 0 deletions type.go
Expand Up @@ -12,6 +12,89 @@ const (
TypeProtobuf Type = "protobuf"
)

type FrameType uint8

const (
FrameTypeServerPing FrameType = iota + 1
FrameTypeClientPong

FrameTypePushConnect
FrameTypePushSubscribe
FrameTypePushPublication
FrameTypePushJoin
FrameTypePushLeave
FrameTypePushUnsubscribe
FrameTypePushMessage
FrameTypePushRefresh
FrameTypePushDisconnect

FrameTypeConnect
FrameTypeSubscribe
FrameTypePublish
FrameTypeUnsubscribe
FrameTypeRPC
FrameTypePresence
FrameTypePresenceStats
FrameTypeHistory
FrameTypeRefresh
FrameTypeSubRefresh
FrameTypeSend
)

func (f FrameType) String() string {
switch f {
case FrameTypeServerPing:
return "server_ping"
case FrameTypeClientPong:
return "client_pong"

case FrameTypePushConnect:
return "push_connect"
case FrameTypePushSubscribe:
return "push_subscribe"
case FrameTypePushPublication:
return "push_publication"
case FrameTypePushJoin:
return "push_join"
case FrameTypePushLeave:
return "push_leave"
case FrameTypePushUnsubscribe:
return "push_unsubscribe"
case FrameTypePushMessage:
return "push_message"
case FrameTypePushRefresh:
return "push_refresh"
case FrameTypePushDisconnect:
return "push_disconnect"

case FrameTypeConnect:
return "connect"
case FrameTypeSubscribe:
return "subscribe"
case FrameTypePublish:
return "publish"
case FrameTypeUnsubscribe:
return "unsubscribe"
case FrameTypeRPC:
return "rpc"
case FrameTypePresence:
return "presence"
case FrameTypePresenceStats:
return "presence_stats"
case FrameTypeHistory:
return "history"
case FrameTypeSubRefresh:
return "sub_refresh"
case FrameTypeRefresh:
return "refresh"
case FrameTypeSend:
return "send"

default:
return "unknown"
}
}

var (
DefaultJsonPushEncoder = NewJSONPushEncoder()
DefaultProtobufPushEncoder = NewProtobufPushEncoder()
Expand Down

0 comments on commit 7db7d81

Please sign in to comment.