mirror of
https://github.com/cloudflare/cloudflared.git
synced 2025-05-13 09:06:35 +00:00

To help accommodate web browser interactions with websockets, when a streaming logs session is requested for the same actor while already serving a session for that user in a separate request, the original request will be closed and the new request start streaming logs instead. This should help with rogue sessions holding on for too long with no client on the other side (before idle timeout or connection close).
78 lines
1.7 KiB
Go
78 lines
1.7 KiB
Go
// Copyright 2021 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package pkgbits
|
|
|
|
// A Code is an enum value that can be encoded into bitstreams.
|
|
//
|
|
// Code types are preferable for enum types, because they allow
|
|
// Decoder to detect desyncs.
|
|
type Code interface {
|
|
// Marker returns the SyncMarker for the Code's dynamic type.
|
|
Marker() SyncMarker
|
|
|
|
// Value returns the Code's ordinal value.
|
|
Value() int
|
|
}
|
|
|
|
// A CodeVal distinguishes among go/constant.Value encodings.
|
|
type CodeVal int
|
|
|
|
func (c CodeVal) Marker() SyncMarker { return SyncVal }
|
|
func (c CodeVal) Value() int { return int(c) }
|
|
|
|
// Note: These values are public and cannot be changed without
|
|
// updating the go/types importers.
|
|
|
|
const (
|
|
ValBool CodeVal = iota
|
|
ValString
|
|
ValInt64
|
|
ValBigInt
|
|
ValBigRat
|
|
ValBigFloat
|
|
)
|
|
|
|
// A CodeType distinguishes among go/types.Type encodings.
|
|
type CodeType int
|
|
|
|
func (c CodeType) Marker() SyncMarker { return SyncType }
|
|
func (c CodeType) Value() int { return int(c) }
|
|
|
|
// Note: These values are public and cannot be changed without
|
|
// updating the go/types importers.
|
|
|
|
const (
|
|
TypeBasic CodeType = iota
|
|
TypeNamed
|
|
TypePointer
|
|
TypeSlice
|
|
TypeArray
|
|
TypeChan
|
|
TypeMap
|
|
TypeSignature
|
|
TypeStruct
|
|
TypeInterface
|
|
TypeUnion
|
|
TypeTypeParam
|
|
)
|
|
|
|
// A CodeObj distinguishes among go/types.Object encodings.
|
|
type CodeObj int
|
|
|
|
func (c CodeObj) Marker() SyncMarker { return SyncCodeObj }
|
|
func (c CodeObj) Value() int { return int(c) }
|
|
|
|
// Note: These values are public and cannot be changed without
|
|
// updating the go/types importers.
|
|
|
|
const (
|
|
ObjAlias CodeObj = iota
|
|
ObjConst
|
|
ObjType
|
|
ObjFunc
|
|
ObjVar
|
|
ObjStub
|
|
)
|