コード例 #1
0
ファイル: Sender.cs プロジェクト: orf53975/hadoop.net
 /// <exception cref="System.IO.IOException"/>
 public override void TransferBlock(ExtendedBlock blk, Org.Apache.Hadoop.Security.Token.Token
                                    <BlockTokenIdentifier> blockToken, string clientName, DatanodeInfo[] targets, StorageType
                                    [] targetStorageTypes)
 {
     DataTransferProtos.OpTransferBlockProto proto = ((DataTransferProtos.OpTransferBlockProto
                                                       )DataTransferProtos.OpTransferBlockProto.NewBuilder().SetHeader(DataTransferProtoUtil
                                                                                                                       .BuildClientHeader(blk, clientName, blockToken)).AddAllTargets(PBHelper.Convert(
                                                                                                                                                                                          targets)).AddAllTargetStorageTypes(PBHelper.ConvertStorageTypes(targetStorageTypes
                                                                                                                                                                                                                                                          )).Build());
     Send(@out, OP.TransferBlock, proto);
 }
コード例 #2
0
ファイル: Receiver.cs プロジェクト: orf53975/hadoop.net
        /// <summary>
        /// Receive
        /// <see cref="OP.TransferBlock"/>
        ///
        /// </summary>
        /// <exception cref="System.IO.IOException"/>
        private void OpTransferBlock(DataInputStream @in)
        {
            DataTransferProtos.OpTransferBlockProto proto = DataTransferProtos.OpTransferBlockProto
                                                            .ParseFrom(PBHelper.VintPrefixed(@in));
            DatanodeInfo[] targets    = PBHelper.Convert(proto.GetTargetsList());
            TraceScope     traceScope = DataTransferProtoUtil.ContinueTraceSpan(proto.GetHeader()
                                                                                , proto.GetType().Name);

            try
            {
                TransferBlock(PBHelper.Convert(proto.GetHeader().GetBaseHeader().GetBlock()), PBHelper
                              .Convert(proto.GetHeader().GetBaseHeader().GetToken()), proto.GetHeader().GetClientName
                                  (), targets, PBHelper.ConvertStorageTypes(proto.GetTargetStorageTypesList(), targets
                                                                            .Length));
            }
            finally
            {
                if (traceScope != null)
                {
                    traceScope.Close();
                }
            }
        }