All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.luhuiguo.fastdfs.proto.storage.internal.StorageTruncateRequest Maven / Gradle / Ivy

The newest version!
package com.luhuiguo.fastdfs.proto.storage.internal;

import java.nio.charset.Charset;

import com.luhuiguo.fastdfs.proto.CmdConstants;
import com.luhuiguo.fastdfs.proto.FdfsRequest;
import com.luhuiguo.fastdfs.proto.ProtoHead;
import com.luhuiguo.fastdfs.proto.mapper.DynamicFieldType;
import com.luhuiguo.fastdfs.proto.mapper.FdfsColumn;

/**
 * 文件Truncate命令
 * 
 * 
 * 使用限制:创建文件时候需要采用<<源追加>>模式,之后才能Truncate
 * size使用也有限制
 * 
* * @author tobato * */ public class StorageTruncateRequest extends FdfsRequest { /** 文件路径长度 */ @FdfsColumn(index = 0) private long pathSize; /** 截取文件长度 */ @FdfsColumn(index = 1) private long fileSize; /** 文件路径 */ @FdfsColumn(index = 2, dynamicField = DynamicFieldType.allRestByte) private String path; /** * 文件Truncate命令 * * @param path * @param fileSize 截取文件长度 */ public StorageTruncateRequest(String path, long fileSize) { super(); this.fileSize = fileSize; this.path = path; head = new ProtoHead(CmdConstants.STORAGE_PROTO_CMD_TRUNCATE_FILE); } /** * 打包参数 */ @Override public byte[] encodeParam(Charset charset) { // 运行时参数在此计算值 this.pathSize = path.getBytes(charset).length; return super.encodeParam(charset); } public long getPathSize() { return pathSize; } public void setPathSize(long pathSize) { this.pathSize = pathSize; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public void setFileSize(long fileSize) { this.fileSize = fileSize; } @Override public long getFileSize() { return fileSize; } @Override public String toString() { return "StorageAppendFileRequest [pathSize=" + pathSize + ", fileSize=" + fileSize + ", path=" + path + "]"; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy