linkNoRecvSendConnRole=1<<16// do not spawn serveRecv & serveSend
linkNoRecvSendLinkRole=1<<16// do not spawn serveRecv & serveSend
linkFlagsMaskConnRole=(1<<32-1)<<16
linkFlagsMaskLinkRole=(1<<32-1)<<16
)
)
// Make a new NodeLink from already established net.Conn
// Make a new NodeLink from already established net.Conn
//
//
// role specifies how to treat conn - either as server or client one.
// Role specifies how to treat our role on the link - either as client or
// The difference in between client and server roles is only in how connection
// server one. The difference in between client and server roles is only in
// 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
// 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
// Usually server role should be used for connections created via
// net.Listen/net.Accept and client role for connections created via net.Dial.
// net.Listen/net.Accept and client role for connections created via net.Dial.