...
Run Format

Source file test/fixedbugs/issue19555.go

Documentation: test/fixedbugs

  // compile
  
  // Copyright 2017 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 p
  
  type NodeLink struct{}
  
  // A role our end of NodeLink is intended to play
  type LinkRole int64
  
  const (
  	LinkServer LinkRole = iota // link created as server
  	LinkClient                 // link created as client
  
  	// for testing:
  	linkNoRecvSend LinkRole = 1 << 16 // do not spawn serveRecv & serveSend
  	linkFlagsMask  LinkRole = (1<<32 - 1) << 16
  )
  
  func NewNodeLink(role LinkRole) *NodeLink {
  	var nextConnId uint32
  	switch role &^ linkFlagsMask {
  	case LinkServer:
  		nextConnId = 0 // all initiated by us connId will be even
  	case LinkClient:
  		nextConnId = 1 // ----//---- odd
  	default:
  		panic("invalid conn role")
  	}
  
  	_ = nextConnId
  	return nil
  }
  

View as plain text