view src/main/java/christie/topology/manager/CheckComingHost.java @ 50:8dfd93810041

fix config and HostMessage
author akahori
date Thu, 23 Aug 2018 09:30:36 +0900
parents 6664efac18ee
children be8c40709e89
line wrap: on
line source

package christie.topology.manager;

import christie.annotation.Peek;
import christie.annotation.Take;
import christie.codegear.CodeGear;
import christie.codegear.CodeGearManager;
import christie.topology.HostMessage;

import java.util.HashMap;

public class CheckComingHost extends CodeGear {

    @Take
    HostMessage hostMessage;

    @Peek
    HashMap<String, String> absCookieTable;

    public CheckComingHost(){
    }

    @Override
    public void run(CodeGearManager cgm) {

        // check cookie
        if (hostMessage.cookie != null) {
            if (absCookieTable.containsKey(hostMessage.cookie)){
                hostMessage.absName = absCookieTable.get(hostMessage.cookie);
                System.out.println("match");
                // coming host has ever joined this App
                getLocalDGM().put("reconnectHost", hostMessage);
                cgm.setup(new SearchHostName());
            }else {
                getLocalDGM().put("orderHash", "order");
                getLocalDGM().put("newHost", hostMessage);
            }
        }
        cgm.setup(new CheckComingHost());
    }

}