// Path: src/main/java/com/amebame/triton/service/TritonManagementMethods.java
// public class TritonManagementMethods {
// 
// 	public TritonManagementMethods() {
// 	}
// 
// 	/**
// 	 * Ping method respond pong with server clock.
// 	 * @return
// 	 */
// 	@TritonMethod("triton.heartbeat")
// 	public long ping() {
// 		return (int) (System.currentTimeMillis() / 1000L);
// 	}
// 	
// 	/**
// 	 * Echo method return received json to the client
// 	 * @param text
// 	 * @return
// 	 */
// 	@TritonMethod("triton.echo")
// 	public JsonNode echo(JsonNode node) {
// 		return node;
// 	}
// 	
// 	/**
// 	 * This method let server to close client connection.
// 	 * This simulates closing from the server suddenly.
// 	 * @param channel
// 	 * @return
// 	 * @throws IOException
// 	 */
// 	@TritonMethod("triton.close")
// 	public void close(ChannelHandlerContext ctx) throws IOException {
// 		// close asynchronously
// 		ctx.close();
// 	}
// }


import javax.inject.Inject;
import javax.inject.Singleton;
import com.amebame.triton.service.TritonManagementMethods;
package com.amebame.triton.server;



@Singleton
public class TritonServerSetup {

	@Inject
	public TritonServerSetup(
			TritonServerContext context,
// Path: src/main/java/com/amebame/triton/service/TritonManagementMethods.java
// public class TritonManagementMethods {
// 
// 	public TritonManagementMethods() {
// 	}
// 
// 	/**
// 	 * Ping method respond pong with server clock.
// 	 * @return
// 	 */
// 	@TritonMethod("triton.heartbeat")
// 	public long ping() {
// 		return (int) (System.currentTimeMillis() / 1000L);
// 	}
// 	
// 	/**
// 	 * Echo method return received json to the client
// 	 * @param text
// 	 * @return
// 	 */
// 	@TritonMethod("triton.echo")
// 	public JsonNode echo(JsonNode node) {
// 		return node;
// 	}
// 	
// 	/**
// 	 * This method let server to close client connection.
// 	 * This simulates closing from the server suddenly.
// 	 * @param channel
// 	 * @return
// 	 * @throws IOException
// 	 */
// 	@TritonMethod("triton.close")
// 	public void close(ChannelHandlerContext ctx) throws IOException {
// 		// close asynchronously
// 		ctx.close();
// 	}
// }


// Path: src/main/java/com/amebame/triton/server/TritonServerSetup.java
import javax.inject.Inject;
import javax.inject.Singleton;
import com.amebame.triton.service.TritonManagementMethods;

package com.amebame.triton.server;



@Singleton
public class TritonServerSetup {

	@Inject
	public TritonServerSetup(
			TritonServerContext context,
			TritonManagementMethods heartbeat) {