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


Java XAttrCompactProto类代码示例

本文整理汇总了Java中org.apache.hadoop.hdfs.server.namenode.FsImageProto.INodeSection.XAttrCompactProto的典型用法代码示例。如果您正苦于以下问题:Java XAttrCompactProto类的具体用法?Java XAttrCompactProto怎么用?Java XAttrCompactProto使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


XAttrCompactProto类属于org.apache.hadoop.hdfs.server.namenode.FsImageProto.INodeSection包,在下文中一共展示了XAttrCompactProto类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: loadXAttrs

import org.apache.hadoop.hdfs.server.namenode.FsImageProto.INodeSection.XAttrCompactProto; //导入依赖的package包/类
public static ImmutableList<XAttr> loadXAttrs(
    XAttrFeatureProto proto, final String[] stringTable) {
  ImmutableList.Builder<XAttr> b = ImmutableList.builder();
  for (XAttrCompactProto xAttrCompactProto : proto.getXAttrsList()) {
    int v = xAttrCompactProto.getName();
    int nid = (v >> XATTR_NAME_OFFSET) & XATTR_NAME_MASK;
    int ns = (v >> XATTR_NAMESPACE_OFFSET) & XATTR_NAMESPACE_MASK;
    ns |=
        ((v >> XATTR_NAMESPACE_EXT_OFFSET) & XATTR_NAMESPACE_EXT_MASK) << 2;
    String name = stringTable[nid];
    byte[] value = null;
    if (xAttrCompactProto.getValue() != null) {
      value = xAttrCompactProto.getValue().toByteArray();
    }
    b.add(new XAttr.Builder().setNameSpace(XATTR_NAMESPACE_VALUES[ns])
        .setName(name).setValue(value).build());
  }
  
  return b.build();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:21,代码来源:FSImageFormatPBINode.java

示例2: buildXAttrs

import org.apache.hadoop.hdfs.server.namenode.FsImageProto.INodeSection.XAttrCompactProto; //导入依赖的package包/类
private static XAttrFeatureProto.Builder buildXAttrs(XAttrFeature f,
    final SaverContext.DeduplicationMap<String> stringMap) {
  XAttrFeatureProto.Builder b = XAttrFeatureProto.newBuilder();
  for (XAttr a : f.getXAttrs()) {
    XAttrCompactProto.Builder xAttrCompactBuilder = XAttrCompactProto.
        newBuilder();
    int nsOrd = a.getNameSpace().ordinal();
    Preconditions.checkArgument(nsOrd < 8, "Too many namespaces.");
    int v = ((nsOrd & XATTR_NAMESPACE_MASK) << XATTR_NAMESPACE_OFFSET)
        | ((stringMap.getId(a.getName()) & XATTR_NAME_MASK) <<
            XATTR_NAME_OFFSET);
    v |= (((nsOrd >> 2) & XATTR_NAMESPACE_EXT_MASK) <<
        XATTR_NAMESPACE_EXT_OFFSET);
    xAttrCompactBuilder.setName(v);
    if (a.getValue() != null) {
      xAttrCompactBuilder.setValue(PBHelper.getByteString(a.getValue()));
    }
    b.addXAttrs(xAttrCompactBuilder.build());
  }
  
  return b;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:FSImageFormatPBINode.java

示例3: loadXAttrs

import org.apache.hadoop.hdfs.server.namenode.FsImageProto.INodeSection.XAttrCompactProto; //导入依赖的package包/类
public static List<XAttr> loadXAttrs(
    XAttrFeatureProto proto, final String[] stringTable) {
  List<XAttr> b = new ArrayList<>();
  for (XAttrCompactProto xAttrCompactProto : proto.getXAttrsList()) {
    int v = xAttrCompactProto.getName();
    int nid = (v >> XATTR_NAME_OFFSET) & XATTR_NAME_MASK;
    int ns = (v >> XATTR_NAMESPACE_OFFSET) & XATTR_NAMESPACE_MASK;
    ns |=
        ((v >> XATTR_NAMESPACE_EXT_OFFSET) & XATTR_NAMESPACE_EXT_MASK) << 2;
    String name = stringTable[nid];
    byte[] value = null;
    if (xAttrCompactProto.getValue() != null) {
      value = xAttrCompactProto.getValue().toByteArray();
    }
    b.add(new XAttr.Builder().setNameSpace(XATTR_NAMESPACE_VALUES[ns])
        .setName(name).setValue(value).build());
  }
  
  return b;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:21,代码来源:FSImageFormatPBINode.java

示例4: buildXAttrs

import org.apache.hadoop.hdfs.server.namenode.FsImageProto.INodeSection.XAttrCompactProto; //导入依赖的package包/类
private static XAttrFeatureProto.Builder buildXAttrs(XAttrFeature f,
    final SaverContext.DeduplicationMap<String> stringMap) {
  XAttrFeatureProto.Builder b = XAttrFeatureProto.newBuilder();
  for (XAttr a : f.getXAttrs()) {
    XAttrCompactProto.Builder xAttrCompactBuilder = XAttrCompactProto.
        newBuilder();
    int nsOrd = a.getNameSpace().ordinal();
    Preconditions.checkArgument(nsOrd < 8, "Too many namespaces.");
    int v = ((nsOrd & XATTR_NAMESPACE_MASK) << XATTR_NAMESPACE_OFFSET)
        | ((stringMap.getId(a.getName()) & XATTR_NAME_MASK) <<
            XATTR_NAME_OFFSET);
    v |= (((nsOrd >> 2) & XATTR_NAMESPACE_EXT_MASK) <<
        XATTR_NAMESPACE_EXT_OFFSET);
    xAttrCompactBuilder.setName(v);
    if (a.getValue() != null) {
      xAttrCompactBuilder.setValue(PBHelperClient.getByteString(a.getValue()));
    }
    b.addXAttrs(xAttrCompactBuilder.build());
  }
  
  return b;
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:23,代码来源:FSImageFormatPBINode.java


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