All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.lant.maelstrom.inputs.init.InitMessage Maven / Gradle / Ivy

package com.github.lant.maelstrom.inputs.init;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.lant.maelstrom.inputs.Headers;
import com.github.lant.maelstrom.inputs.Message;

import java.io.IOException;
import java.util.List;

public record InitMessage(Headers headers, int msg_id, String node_id, List node_ids) implements Message {
    public static final ObjectMapper mapper = new ObjectMapper();

    public InitMessage(JsonNode input) throws IOException {
        this(new Headers( input.get("src").asText(), input.get("dest").asText()),
                input.get("body").get("msg_id").asInt(),
                input.get("body").get("node_id").asText(),
                mapper.readerForListOf(String.class).readValue(input.get("body").get("node_ids")));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy