@Override
	public synchronized AgentUpdateGrinderMessage onAgentDownloadRequested(String version, int offset) {
		final int updateChunkSize = getUpdateChunkSize();
		byte[] buffer = new byte[updateChunkSize];

		try (RandomAccessFile agentPackageReader = new RandomAccessFile(agentPackageService.createAgentPackage(), "r")) {
			agentPackageReader.seek(offset);
			int count = agentPackageReader.read(buffer, 0, updateChunkSize);
			byte[] bytes = buffer;
			int next = offset + count;
			if (count != updateChunkSize) {
				bytes = Arrays.copyOf(buffer, count);
				next = 0;
			}
			return new AgentUpdateGrinderMessage(version, bytes, offset, next,
					CRC32ChecksumUtils.getCRC32Checksum(bytes));
		} catch (Exception e) {
			LOGGER.error("Error while reading agent package, its offset is {} and details {}:", offset, e);
		}
		return AgentUpdateGrinderMessage.getNullAgentUpdateGrinderMessage(version);
	}
Get the set of {@link AgentStatus} from agents belong to the given single console port.

@param singleConsolePort port
@return {@link AgentStatus} set
ngrinder-controller/src/main/java/org/ngrinder/perftest/service/AgentManager.java