当前位置: 首页>>代码示例>>C#>>正文


C# Block.validateMinMax方法代码示例

本文整理汇总了C#中Block.validateMinMax方法的典型用法代码示例。如果您正苦于以下问题:C# Block.validateMinMax方法的具体用法?C# Block.validateMinMax怎么用?C# Block.validateMinMax使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Block的用法示例。


在下文中一共展示了Block.validateMinMax方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: init

      public void init (SqlConnection conn)
      {
         // Check if blocks have already been loaded
         if (_all_blocks.Count != 0)
            return;

         lock (_sync_object)
         {
            // Check again
            if (_all_blocks.Count != 0)
               return;

            int? max_part = BingoSqlUtils.ExecIntQuery(conn,
               "SELECT MAX(part) from {0}", _index_data.fingerprintsTable);
            if (!max_part.HasValue)
               return;

            using (SqlCommand command =
               new SqlCommand("SELECT [part], [used], [counters], [mapping] from " +
                  _index_data.fingerprintsTable + " ORDER BY [part]", conn))
            {
               command.CommandTimeout = 3600;
               using (SqlDataReader reader = command.ExecuteReader())
               {
                  while (reader.Read())
                  {
                     Block new_block = new Block(false, _fp_bytes);
                     new_block.part = Convert.ToInt32(reader[0]);
                     int used = Convert.ToInt32(reader[1]);

                     byte[] counters = (byte[])reader[2];
                     byte[] mapping = (byte[])reader[3];

                     // Copy mapping
                     int[] data = new int[used];
                     Buffer.BlockCopy(mapping, 0, data, 0, mapping.Length);
                     new_block.indices.AddRange(data);
                     new_block.validateMinMax();

                     // Copy counters
                     Buffer.BlockCopy(counters, 0, new_block.counters, 0, counters.Length);

                     _all_blocks.Add(new_block);
                  }
               }
            }
         }
      }
开发者ID:harcharansidhu,项目名称:indigo,代码行数:48,代码来源:BingoFingerprints.cs

示例2: _validateBlockIndices

      private void _validateBlockIndices (SqlConnection conn, Block block)
      {
         if (block.indices != null)
            return;

         lock (_sync_object)
         {
            if (block.indices != null)
               return;

            BingoLog.logMessage("validating fingerprint {0} block indices", block.part);

            using (SqlCommand command =
               new SqlCommand("SELECT [mapping], [used] from " +
                  _index_data.fingerprintsTable + " WHERE [part] = " + block.part, conn))
            {
               command.CommandTimeout = 3600;
               using (SqlDataReader reader = command.ExecuteReader())
               {
                  if (!reader.Read())
                     throw new Exception("Cannot read fingerprint " + block.part + " block");

                  byte[] mapping = (byte[])reader[0];
                  int used = Convert.ToInt32(reader[1]);

                  // Copy mapping
                  int[] data = new int[used];
                  Buffer.BlockCopy(mapping, 0, data, 0, mapping.Length);
                  block.indices = new List<int>();
                  block.indices.AddRange(data);
                  block.validateMinMax();
               }
            }
         }
      }
开发者ID:harcharansidhu,项目名称:indigo,代码行数:35,代码来源:BingoFingerprints.cs


注:本文中的Block.validateMinMax方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。