github.com/mutagen-io/mutagen@v0.18.0-rc1/pkg/forwarding/version.go (about) 1 package forwarding 2 3 import ( 4 "github.com/mutagen-io/mutagen/pkg/filesystem" 5 ) 6 7 // DefaultVersion is the default session version. 8 const DefaultVersion Version = Version_Version1 9 10 // Supported indicates whether or not the session version is supported. 11 func (v Version) Supported() bool { 12 switch v { 13 case Version_Version1: 14 return true 15 default: 16 return false 17 } 18 } 19 20 // DefaultSocketOverwriteMode returns the default socket overwrite mode for the 21 // session version. 22 func (v Version) DefaultSocketOverwriteMode() SocketOverwriteMode { 23 switch v { 24 case Version_Version1: 25 return SocketOverwriteMode_SocketOverwriteModeLeave 26 default: 27 panic("unknown or unsupported session version") 28 } 29 } 30 31 // DefaultSocketPermissionMode returns the default socket permission mode for 32 // the session version. 33 func (v Version) DefaultSocketPermissionMode() filesystem.Mode { 34 switch v { 35 case Version_Version1: 36 return filesystem.ModePermissionUserRead | filesystem.ModePermissionUserWrite 37 default: 38 panic("unknown or unsupported session version") 39 } 40 } 41 42 // DefaultSocketOwnerSpecification returns the default socket owner 43 // specification for the session version. 44 func (v Version) DefaultSocketOwnerSpecification() string { 45 switch v { 46 case Version_Version1: 47 return "" 48 default: 49 panic("unknown or unsupported session version") 50 } 51 } 52 53 // DefaultSocketGroupSpecification returns the default socket group 54 // specification for the session version. 55 func (v Version) DefaultSocketGroupSpecification() string { 56 switch v { 57 case Version_Version1: 58 return "" 59 default: 60 panic("unknown or unsupported session version") 61 } 62 }