public static byte directProtocolVersion(GridKernalContext ctx,UUID nodeId) throws IgniteCheckedException {
  assert nodeId != null;
  ClusterNode node=ctx.discovery().node(nodeId);
  if (node == null)   throw new IgniteCheckedException("Failed to define communication protocol version " + "(has node left topology?): " + nodeId);
  assert !node.isLocal();
  Byte attr=node.attribute(GridIoManager.DIRECT_PROTO_VER_ATTR);
  byte rmtProtoVer=attr != null ? attr : 1;
  if (rmtProtoVer < GridIoManager.DIRECT_PROTO_VER)   return rmtProtoVer;
 else   return GridIoManager.DIRECT_PROTO_VER;
}

public static byte directProtocolVersion ( GridKernalContext ctx , UUID nodeId ) throws IgniteCheckedException { assert nodeId != null ; ClusterNode node = ctx . discovery ( ) . node ( nodeId ) ; if ( node == null ) throw new IgniteCheckedException ( "Failed to define communication protocol version " + "(has node left topology?): " + nodeId ) ; assert ! node . isLocal ( ) ; Byte attr = node . attribute ( GridIoManager . DIRECT_PROTO_VER_ATTR ) ; byte rmtProtoVer = attr != null ? attr : 1 ; if ( rmtProtoVer < GridIoManager . DIRECT_PROTO_VER ) return rmtProtoVer ; else return GridIoManager . DIRECT_PROTO_VER ; }
defines which protocol version to use for communication with the provided node .
