summaryrefslogblamecommitdiffstats
path: root/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/util/Constants.java
blob: 0d6328b4866d6d7ce90cfdcf6d01f0584d04c27a (plain) (tree)
1
2
3
4
5
6
7
8
                                  
 
                                               



                                                                      
                                              











                                                                                                   
                                                

         
package org.openslx.bwlp.sat.util;

import org.openslx.bwlp.sat.fileserv.FileChunk;

public class Constants {
	public static final String INCOMPLETE_UPLOAD_SUFFIX = ".part";
	public static final int MAX_UPLOADS;
	public static final int MAX_DOWNLOADS;

	static {
		long maxMem = Runtime.getRuntime().maxMemory();
		if (maxMem == Long.MAX_VALUE) {
			// Apparently the JVM was started without a memory limit (no -Xmx cmdline),
			// so we assume a default of 256MB
			maxMem = 256l * 1024l * 1024l;
		}
		maxMem /= 1024l * 1024l;
		// Now maxMem is the amount of memory in MiB

		MAX_UPLOADS = (int) Math.max(1, (maxMem - 64) / (FileChunk.CHUNK_SIZE_MIB + 1));
		MAX_DOWNLOADS = MAX_UPLOADS * 2;
	}
}