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  }