промежуточный. кусок рефакторинга на тему борьбы с зависаниями. пока не внедрен

This commit is contained in:
2025-02-03 15:19:53 +03:00
parent 6911bc6cdb
commit e0f441d82a
26 changed files with 128 additions and 200 deletions

View File

@@ -0,0 +1,6 @@
package _VisualDVM.Passes.Server;
import Common.Passes.Pass;
import _VisualDVM.Repository.RepositoryServer;
public abstract class ClientPass <S extends RepositoryServer,T> extends Pass<T> {
protected abstract S getServer();
}

View File

@@ -39,7 +39,7 @@ public class PublishServerObject<S extends RepositoryServer, D extends DBObject>
@Override
protected void ServerAction() throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.PublishObject, getEmail(), target));
pk = response.object;
pk = server_response.object;
}
@Override
protected void showDone() throws Exception {

View File

@@ -21,8 +21,8 @@ public abstract class RepositoryPass<S extends RepositoryServer, T> extends Pass
protected ObjectInputStream in = null; // поток чтения из сокета
protected ObjectOutputStream out = null; // поток записи в сокет
//-
protected ServerExchangeUnit_2021 request;
protected ServerExchangeUnit_2021 response;
protected ServerExchangeUnit_2021 client_request;
protected ServerExchangeUnit_2021 server_response;
//-
protected Socket clientSocket = null; //сокет для общения
protected ServerCode ExitCode = ServerCode.Undefined;
@@ -60,12 +60,12 @@ public abstract class RepositoryPass<S extends RepositoryServer, T> extends Pass
protected abstract void ServerAction() throws Exception;
protected void Command(ServerExchangeUnit_2021 request_in) throws Exception {
ExitCode = ServerCode.Undefined;
request = request_in;
out.writeObject(request);
response = (ServerExchangeUnit_2021) in.readObject();
switch (ExitCode = response.getCode()) {
client_request = request_in;
out.writeObject(client_request);
server_response = (ServerExchangeUnit_2021) in.readObject();
switch (ExitCode = server_response.getCode()) {
case FAIL:
throw (Exception) response.object;
throw (Exception) server_response.object;
case OLD:
throw new PassException("Сервер устарел.");
default:
@@ -77,12 +77,12 @@ public abstract class RepositoryPass<S extends RepositoryServer, T> extends Pass
}
protected void ReceiveFile(String src, File dst) throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.ReceiveFile, src));
if (response.object != null)
response.Unpack(dst);
if (server_response.object != null)
server_response.Unpack(dst);
}
protected String ReadFile(String src) throws Exception {
Command(new ServerExchangeUnit_2021(ServerCode.ReadFile, src));
return response.object.toString();
return server_response.object.toString();
}
@Override
protected void body() throws Exception {