Package net.alteiar.newversion.client

Source Code of net.alteiar.newversion.client.ClientGeneralDocument

package net.alteiar.newversion.client;

import java.io.IOException;

import net.alteiar.newversion.server.kryo.NetworkKryoInit;
import net.alteiar.newversion.shared.reply.ReplyCampaignServer;
import net.alteiar.newversion.shared.reply.ReplyIdsClient;
import net.alteiar.newversion.shared.request.RequestCampaignClient;
import net.alteiar.newversion.shared.request.RequestDelete;
import net.alteiar.newversion.shared.request.RequestIdsServer;
import net.alteiar.shared.UniqueID;

import com.esotericsoftware.kryonet.Client;
import com.esotericsoftware.kryonet.Connection;
import com.esotericsoftware.kryonet.Listener;

public class ClientGeneralDocument extends Listener {
  private final DocumentManager manager;
  private final Client client;

  public ClientGeneralDocument(DocumentManager manager, String ipServeur,
      int portTCP) throws IOException {
    this.manager = manager;

    // int buffere50mo = 52428800;
    int buffer1mo = 1024000;
    int bufferSize = buffer1mo;
    client = new Client(bufferSize, bufferSize);
    client.start();
    client.connect(10000, ipServeur, portTCP, portTCP + 1);

    NetworkKryoInit init = new NetworkKryoInit();
    init.registerKryo(client.getKryo());
    client.addListener(this);
  }

  public void stop() {
    client.close();
    client.stop();
  }

  public void askInitCampaign() {
    client.sendTCP(new RequestCampaignClient());
  }

  public void closeDocument(UniqueID guid) {
    client.sendTCP(new RequestDelete(guid));
  }

  @Override
  public void received(Connection connection, Object object) {
    if (object instanceof RequestDelete) {
      documentClosed((RequestDelete) object);
    } else if (object instanceof RequestIdsServer) {
      client.sendTCP(new ReplyIdsClient(this.manager.getIds()));
    } else if (object instanceof ReplyCampaignServer) {
      if (!manager.isInitialized()) {
        initCampaign((ReplyCampaignServer) object);
      }
    }
  }

  private void initCampaign(ReplyCampaignServer campaign) {
    String campaignName = campaign.getCampaignName();
    UniqueID[] ids = campaign.getIds();

    this.manager.initCampaign(campaignName, ids);
  }

  private void documentClosed(RequestDelete object) {
    this.manager.documentClosed(object.getBeanId());
  }
}
TOP

Related Classes of net.alteiar.newversion.client.ClientGeneralDocument

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.