linkNoRecvSendConnRole=1<<16// do not spawn serveRecv & serveSend
linkFlagsMaskConnRole=(1<<32-1)<<16
linkNoRecvSendLinkRole=1<<16// do not spawn serveRecv & serveSend
linkFlagsMaskLinkRole=(1<<32-1)<<16
)
// Make a new NodeLink from already established net.Conn
//
// role specifies how to treat conn - either as server or client one.
// The difference in between client and server roles is only in how connection
// ids are allocated for connections initiated at our side: there is no overlap in identifiers if one side always allocates them as even and its peer as odd. in connId % 2 XXX text
// Role specifies how to treat our role on the link - either as client or
// server one. The difference in between client and server roles is only in
// how connection ids are allocated for connections initiated at our side:
// there is no conflict in identifiers if one side always allocates them as
// even (server) and its peer as odd (client).
//
// Usually server role should be used for connections created via
// net.Listen/net.Accept and client role for connections created via net.Dial.