Mercurial > hg > Database > Christie
view src/main/java/christie/codegear/CodeGearManager.java @ 14:f2b30b47ef67
RemotePutTest is working
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 11 Jan 2018 18:02:59 +0900 |
parents | bcd4f2c19185 |
children | 4e867538adb7 |
line wrap: on
line source
package christie.codegear; import christie.daemon.ChristieDaemon; import christie.daemon.Config; import christie.daemon.IncomingTcpConnection; import christie.datagear.DataGearManager; import christie.datagear.LocalDataGearManager; import christie.datagear.RemoteDataGearManager; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ThreadPoolExecutor; /** * Created by e125769 on 12/7/17. * CodeGearの実行 */ public class CodeGearManager{ private ConcurrentHashMap<String, DataGearManager> dataGearManagers = new ConcurrentHashMap<String, DataGearManager>(); private ConcurrentHashMap<String, CodeGearManager> cgms; private ThreadPoolExecutor threadPoolExecutor; private LocalDataGearManager localDGM = new LocalDataGearManager(); private ConcurrentHashMap<String, IncomingTcpConnection> acceptHash = new ConcurrentHashMap<String, IncomingTcpConnection>(); public Config conf; public CodeGearManager(ThreadPoolExecutor exe, ConcurrentHashMap<String, CodeGearManager> cgms, Config conf) { dataGearManagers.put("local", localDGM); this.cgms = cgms; threadPoolExecutor = exe; this.conf = conf; new ChristieDaemon(conf, this).listen();//run only first time } public LocalDataGearManager getLocalDGM(){ return localDGM; } public DataGearManager getDGM(String dsmName){ return dataGearManagers.get(dsmName); } public void createRemoteDGM(String dsmName, String address, int port){ dataGearManagers.put(dsmName, new RemoteDataGearManager(dsmName, address, port, this)); } public void createRemoteDGM(String dsmName){ dataGearManagers.put(dsmName, new RemoteDataGearManager(dsmName, conf.address, conf.connectPort, this)); } public void submit(CodeGear cg){ threadPoolExecutor.execute(cg.cge); } public void setup(CodeGear cg){ cg.setup(this); } public ConcurrentHashMap<String, CodeGearManager> getCgms() { return cgms; } public void setAccept(String key, IncomingTcpConnection in) { acceptHash.put(key, in); } }