123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- /**
- * Copyright (C) 2008 Happy Fish / YuQing
- * <p>
- * FastDFS Java Client may be copied only under the terms of the GNU Lesser
- * General Public License (LGPL).
- * Please visit the FastDFS Home Page http://www.csource.org/ for more detail.
- */
- package com.kmall.common.fileserver.fastdfs;
- /**
- * C struct body decoder
- *
- * @author Happy Fish / YuQing
- * @version Version 1.18
- */
- public class StructGroupStat extends StructBase {
- protected static final int FIELD_INDEX_GROUP_NAME = 0;
- protected static final int FIELD_INDEX_TOTAL_MB = 1;
- protected static final int FIELD_INDEX_FREE_MB = 2;
- protected static final int FIELD_INDEX_TRUNK_FREE_MB = 3;
- protected static final int FIELD_INDEX_STORAGE_COUNT = 4;
- protected static final int FIELD_INDEX_STORAGE_PORT = 5;
- protected static final int FIELD_INDEX_STORAGE_HTTP_PORT = 6;
- protected static final int FIELD_INDEX_ACTIVE_COUNT = 7;
- protected static final int FIELD_INDEX_CURRENT_WRITE_SERVER = 8;
- protected static final int FIELD_INDEX_STORE_PATH_COUNT = 9;
- protected static final int FIELD_INDEX_SUBDIR_COUNT_PER_PATH = 10;
- protected static final int FIELD_INDEX_CURRENT_TRUNK_FILE_ID = 11;
- protected static int fieldsTotalSize;
- protected static StructBase.FieldInfo[] fieldsArray = new StructBase.FieldInfo[12];
- static {
- int offset = 0;
- fieldsArray[FIELD_INDEX_GROUP_NAME] = new StructBase.FieldInfo("groupName", offset, ProtoCommon.FDFS_GROUP_NAME_MAX_LEN + 1);
- offset += ProtoCommon.FDFS_GROUP_NAME_MAX_LEN + 1;
- fieldsArray[FIELD_INDEX_TOTAL_MB] = new StructBase.FieldInfo("totalMB", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsArray[FIELD_INDEX_FREE_MB] = new StructBase.FieldInfo("freeMB", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsArray[FIELD_INDEX_TRUNK_FREE_MB] = new StructBase.FieldInfo("trunkFreeMB", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsArray[FIELD_INDEX_STORAGE_COUNT] = new StructBase.FieldInfo("storageCount", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsArray[FIELD_INDEX_STORAGE_PORT] = new StructBase.FieldInfo("storagePort", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsArray[FIELD_INDEX_STORAGE_HTTP_PORT] = new StructBase.FieldInfo("storageHttpPort", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsArray[FIELD_INDEX_ACTIVE_COUNT] = new StructBase.FieldInfo("activeCount", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsArray[FIELD_INDEX_CURRENT_WRITE_SERVER] = new StructBase.FieldInfo("currentWriteServer", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsArray[FIELD_INDEX_STORE_PATH_COUNT] = new StructBase.FieldInfo("storePathCount", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsArray[FIELD_INDEX_SUBDIR_COUNT_PER_PATH] = new StructBase.FieldInfo("subdirCountPerPath", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsArray[FIELD_INDEX_CURRENT_TRUNK_FILE_ID] = new StructBase.FieldInfo("currentTrunkFileId", offset, ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE);
- offset += ProtoCommon.FDFS_PROTO_PKG_LEN_SIZE;
- fieldsTotalSize = offset;
- }
- protected String groupName; //name of this group
- protected long totalMB; //total disk storage in MB
- protected long freeMB; //free disk space in MB
- protected long trunkFreeMB; //trunk free space in MB
- protected int storageCount; //storage server count
- protected int storagePort; //storage server port
- protected int storageHttpPort; //storage server HTTP port
- protected int activeCount; //active storage server count
- protected int currentWriteServer; //current storage server index to upload file
- protected int storePathCount; //store base path count of each storage server
- protected int subdirCountPerPath; //sub dir count per store path
- protected int currentTrunkFileId; //current trunk file id
- /**
- * get fields total size
- *
- * @return fields total size
- */
- public static int getFieldsTotalSize() {
- return fieldsTotalSize;
- }
- /**
- * get group name
- *
- * @return group name
- */
- public String getGroupName() {
- return this.groupName;
- }
- /**
- * get total disk space in MB
- *
- * @return total disk space in MB
- */
- public long getTotalMB() {
- return this.totalMB;
- }
- /**
- * get free disk space in MB
- *
- * @return free disk space in MB
- */
- public long getFreeMB() {
- return this.freeMB;
- }
- /**
- * get trunk free space in MB
- *
- * @return trunk free space in MB
- */
- public long getTrunkFreeMB() {
- return this.trunkFreeMB;
- }
- /**
- * get storage server count in this group
- *
- * @return storage server count in this group
- */
- public int getStorageCount() {
- return this.storageCount;
- }
- /**
- * get active storage server count in this group
- *
- * @return active storage server count in this group
- */
- public int getActiveCount() {
- return this.activeCount;
- }
- /**
- * get storage server port
- *
- * @return storage server port
- */
- public int getStoragePort() {
- return this.storagePort;
- }
- /**
- * get storage server HTTP port
- *
- * @return storage server HTTP port
- */
- public int getStorageHttpPort() {
- return this.storageHttpPort;
- }
- /**
- * get current storage server index to upload file
- *
- * @return current storage server index to upload file
- */
- public int getCurrentWriteServer() {
- return this.currentWriteServer;
- }
- /**
- * get store base path count of each storage server
- *
- * @return store base path count of each storage server
- */
- public int getStorePathCount() {
- return this.storePathCount;
- }
- /**
- * get sub dir count per store path
- *
- * @return sub dir count per store path
- */
- public int getSubdirCountPerPath() {
- return this.subdirCountPerPath;
- }
- /**
- * get current trunk file id
- *
- * @return current trunk file id
- */
- public int getCurrentTrunkFileId() {
- return this.currentTrunkFileId;
- }
- /**
- * set fields
- *
- * @param bs byte array
- * @param offset start offset
- */
- public void setFields(byte[] bs, int offset) {
- this.groupName = stringValue(bs, offset, fieldsArray[FIELD_INDEX_GROUP_NAME]);
- this.totalMB = longValue(bs, offset, fieldsArray[FIELD_INDEX_TOTAL_MB]);
- this.freeMB = longValue(bs, offset, fieldsArray[FIELD_INDEX_FREE_MB]);
- this.trunkFreeMB = longValue(bs, offset, fieldsArray[FIELD_INDEX_TRUNK_FREE_MB]);
- this.storageCount = intValue(bs, offset, fieldsArray[FIELD_INDEX_STORAGE_COUNT]);
- this.storagePort = intValue(bs, offset, fieldsArray[FIELD_INDEX_STORAGE_PORT]);
- this.storageHttpPort = intValue(bs, offset, fieldsArray[FIELD_INDEX_STORAGE_HTTP_PORT]);
- this.activeCount = intValue(bs, offset, fieldsArray[FIELD_INDEX_ACTIVE_COUNT]);
- this.currentWriteServer = intValue(bs, offset, fieldsArray[FIELD_INDEX_CURRENT_WRITE_SERVER]);
- this.storePathCount = intValue(bs, offset, fieldsArray[FIELD_INDEX_STORE_PATH_COUNT]);
- this.subdirCountPerPath = intValue(bs, offset, fieldsArray[FIELD_INDEX_SUBDIR_COUNT_PER_PATH]);
- this.currentTrunkFileId = intValue(bs, offset, fieldsArray[FIELD_INDEX_CURRENT_TRUNK_FILE_ID]);
- }
- }
|