func (h *Health) ServiceChecks(args *structs.ServiceSpecificRequest,
	reply *structs.IndexedHealthChecks) error {
	if args.TagFilter {
		return fmt.Errorf("Tag filtering is not supported")
	}
	if done, err := h.srv.forward("Health.ServiceChecks", args, args, reply); done {
		return err
	}
	state := h.srv.fsm.State()
	return h.srv.blockingRPC(&args.QueryOptions,
		&reply.QueryMeta,
		state.QueryTables("ServiceChecks"),
		func() error {
			reply.Index, reply.HealthChecks = state.ServiceChecks(args.ServiceName)
			return nil
		})
}
ServiceChecks is used to get all the checks for a service
package consul
import (
	"fmt"
	"github.com/socketplane/socketplane/Godeps/_workspace/src/github.com/armon/go-metrics"
	"github.com/socketplane/socketplane/Godeps/_workspace/src/github.com/hashicorp/consul/consul/structs"
)
type Health struct {
	srv *Server
}
func (h *Health) ChecksInState(args *structs.ChecksInStateRequest,
	reply *structs.IndexedHealthChecks) error {
	if done, err := h.srv.forward("Health.ChecksInState", args, args, reply); done {
		return err
	}
	state := h.srv.fsm.State()
	return h.srv.blockingRPC(&args.QueryOptions,
		&reply.QueryMeta,
		state.QueryTables("ChecksInState"),
		func() error {
			reply.Index, reply.HealthChecks = state.ChecksInState(args.State)
			return nil
		})
}
func (h *Health) NodeChecks(args *structs.NodeSpecificRequest,
	reply *structs.IndexedHealthChecks) error {
	if done, err := h.srv.forward("Health.NodeChecks", args, args, reply); done {
		return err
	}
	state := h.srv.fsm.State()
	return h.srv.blockingRPC(&args.QueryOptions,
		&reply.QueryMeta,
		state.QueryTables("NodeChecks"),
		func() error {
			reply.Index, reply.HealthChecks = state.NodeChecks(args.Node)
			return nil
		})
}