message

package
v0.9.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 4, 2015 License: GPL-2.0 Imports: 7 Imported by: 6

Documentation

Overview

master - servant間でやり取りするメッセージ定義、処理の機能を提供するパッケージ。

Index

Constants

View Source
const DockerTag = "<docker>"
View Source
const HEARTBEAT = "heartbeat"
View Source
const ST_HEADER = "ST:"

Variables

View Source
var MasterVersion string

リクエストメッセージ送信元masterのバージョン

View Source
var ServantVersion string

レスポンスメッセージ送信元servantのバージョン

Functions

func AddJobValue

func AddJobValue(name string, res *Response)

ジョブネットワーク変数の値を追加する。

func AddSysValue

func AddSysValue(name, tag, value string)

システム変数の値を追加する。

func ExpandStringVars

func ExpandStringVars(src string, place byte, kinds ...byte) (string, error)

文字列src内の変数を展開する。 展開処理のパラメータとして場所識別子placeと利用可能種別kindsを指定する。

func NewVariable

func NewVariable(key string) *variable

変数名を解析してvariable構造体を生成する。

Types

type JobCheck

type JobCheck struct {
	Type    string `json:"type"`
	Version string `json:"version"`
	NID     int    `json:"nid"`
	JID     string `json:"jid"`
}

ジョブ正常終了確認メッセージ。

func (JobCheck) GenerateJSON

func (j JobCheck) GenerateJSON() (string, error)

JobCheckオブジェクトの値を元に、ジョブ正常終了確認JSONメッセージを生成する

return : JSONメッセージフォーマットの文字列。

func (*JobCheck) ParseJSON

func (j *JobCheck) ParseJSON(message string) error

ジョブ正常終了確認JSONメッセージをパースし、JobCheckオブジェクトのメンバをセットする。

param : message 受信メッセージ文字列

type JobResult

type JobResult struct {
	Type    string `json:"type"`
	Version string `json:"version"`
	NID     int    `json:"nid"`
	JID     string `json:"jid"`
	RC      int    `json:"rc"`
	Stat    int    `json:"stat"`
	Var     string `json:"var"`
	St      string `json:"st"`
	Et      string `json:"et"`
}

func (JobResult) GenerateJSON

func (j JobResult) GenerateJSON() (string, error)

JobCheckオブジェクトの値を元に、ジョブ正常終了確認JSONメッセージを生成する

return : JSONメッセージフォーマットの文字列。

func (*JobResult) ParseJSON

func (j *JobResult) ParseJSON(message string) error

ジョブ正常終了確認JSONメッセージをパースし、JobCheckオブジェクトのメンバをセットする。

param : message 受信メッセージ文字列

type Message

type Message interface {
	ParseJSON(string) error
	GenerateJSON() (string, error)
}

通信メッセージの共通インタフェース

type Request

type Request struct {
	Type      string `json:"type"`
	Version   string `json:"version"`
	NID       int    `json:"nid"`
	JID       string `json:"jid"`
	Path      string `json:"path"`
	Param     string `json:"param"`
	Env       string `json:"env"`
	Workspace string `json:"workspace"`
	WarnRC    int    `json:"warnrc"`
	WarnStr   string `json:"warnstr"`
	ErrRC     int    `json:"errrc"`
	ErrStr    string `json:"errstr"`
	Timeout   int    `json:"timeout"`
}

要求メッセージ。

func (*Request) ExpandMasterVars

func (r *Request) ExpandMasterVars() error

masterで利用可能な変数を展開する。

func (*Request) ExpandServantVars

func (r *Request) ExpandServantVars() error

servantで利用可能な変数を展開する。

func (Request) GenerateJSON

func (r Request) GenerateJSON() (string, error)

Requestオブジェクトの値を元に、ジョブ実行要求JSONメッセージを生成する

return : JSONメッセージフォーマットの文字列。

func (*Request) ParseJSON

func (r *Request) ParseJSON(message string) error

ジョブ実行要求JSONメッセージをパースし、Requestオブジェクトのメンバをセットする。

param : message 受信メッセージ文字列。

type Response

type Response struct {
	Type    string `json:"type"`
	Version string `json:"version"`
	NID     int    `json:"nid"`
	JID     string `json:"jid"`
	RC      int    `json:"rc"`
	Stat    int    `json:"stat"`
	Detail  string `json:"detail"`
	Var     string `json:"var"`
	St      string `json:"st"`
	Et      string `json:"et"`
}

func (Response) GenerateJSON

func (r Response) GenerateJSON() (string, error)

Responseオブジェクトの値を元に、ジョブ実行結果JSONメッセージを生成する

return : JSONフォーマット整形後の文字列。

func (*Response) ParseJSON

func (r *Response) ParseJSON(message string) error

ジョブ実行結果JSONメッセージをパースし、Responseオブジェクトのメンバをセットする。

param : メッセージ内容の文字列。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL