Documentation ¶
Index ¶
- Constants
- func Logger(inner http.Handler, name string) http.Handler
- type BlockLedger
- type ConnectionLedger
- type ConnectionNode
- type Error
- type Group
- type GroupRoute
- type HiddenRoutesLedger
- type LibraryEntry
- type LinkLedger
- type Node
- type Pattern
- type Position
- type ProtoBlock
- type ProtoConnection
- type ProtoGroup
- type ProtoLink
- type ProtoSource
- type Server
- func (s *Server) AddChildToGroup(id int, n Node) error
- func (s *Server) BlockCreateHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) BlockDeleteHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) BlockHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) BlockIndexHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) BlockLibraryHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) BlockModifyNameHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) BlockModifyPositionHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) BlockModifyRouteHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) ConnectionCreateHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) ConnectionDeleteHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) ConnectionHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) ConnectionIndexHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) ConnectionModifyCoordinates(w http.ResponseWriter, r *http.Request)
- func (s *Server) CreateBlock(p ProtoBlock) (*BlockLedger, error)
- func (s *Server) CreateConnection(newConn ProtoConnection) (*ConnectionLedger, error)
- func (s *Server) CreateGroup(g ProtoGroup) (*Group, error)
- func (s *Server) CreateLink(l ProtoLink) (*LinkLedger, error)
- func (s *Server) CreateSource(p ProtoSource) (*SourceLedger, error)
- func (s *Server) DeleteBlock(id int) error
- func (s *Server) DeleteConnection(id int) error
- func (s *Server) DeleteGroup(id int) error
- func (s *Server) DeleteLink(id int) error
- func (s *Server) DeleteSource(id int) error
- func (s *Server) DetachChild(g Node) error
- func (s *Server) Export(id int) (*Pattern, error)
- func (s *Server) ExportGroup(id int) (*Pattern, error)
- func (s *Server) GetNextID() int
- func (s *Server) GetSourceValue(id int) ([]byte, error)
- func (s *Server) GroupCreateHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupDeleteHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupExportGistHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupExportHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupImportGistHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupImportHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupIndexHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupModifyAllChildrenHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupModifyChildHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupModifyLabelHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupPositionHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) GroupSetRouteVisibilityHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) ImportGroup(id int, p Pattern) ([]int, error)
- func (s *Server) LinkCreateHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) LinkDeleteHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) LinkIndexHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) ListBlocks() []BlockLedger
- func (s *Server) ListConnections() []ConnectionLedger
- func (s *Server) ListGroups() []Group
- func (s *Server) ListSources() []SourceLedger
- func (s *Server) ModifyBlockRoute(id int, route int, v *core.InputValue) error
- func (s *Server) MonitorMux(id int, c chan core.MonitorMessage, query chan struct{}, quit chan struct{})
- func (s *Server) NewRouter() *mux.Router
- func (s *Server) ResetGraph(conn *ConnectionLedger)
- func (s *Server) SetSourceValue(id int, body []byte) error
- func (s *Server) SourceCreateHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) SourceDeleteHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) SourceGetValueHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) SourceHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) SourceIndexHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) SourceLibraryHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) SourceModifyNameHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) SourceModifyPositionHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) SourceSetValueHandler(w http.ResponseWriter, r *http.Request)
- func (s *Server) UpdateSocketHandler(w http.ResponseWriter, r *http.Request)
- type Settings
- type SourceLedger
- type Update
Constants ¶
const ( // actions DELETE = "delete" RESET = "reset" UPDATE = "update" CREATE = "create" INFO = "info" // nodes BLOCK = "block" GROUP = "group" SOURCE = "source" // edges LINK = "link" CONNECTION = "connection" // attributes CHILD = "child" ROUTE = "route" GROUPROUTE = "groupRoute" PARAM = "param" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BlockLedger ¶
type BlockLedger struct { Label string `json:"label"` Type string `json:"type"` Id int `json:"id"` Block *core.Block `json:"-"` Parent *Group `json:"-"` Composition int `json:"composition,omitempty"` Inputs []core.Input `json:"inputs"` Outputs []core.Output `json:"outputs"` Source core.SourceType `json:"source"` Position Position `json:"position"` MonitorQuery chan struct{} `json:"-"` MonitorQuit chan struct{} `json:"-"` }
func (*BlockLedger) GetID ¶
func (bl *BlockLedger) GetID() int
func (*BlockLedger) GetParent ¶
func (bl *BlockLedger) GetParent() *Group
func (*BlockLedger) SetParent ¶
func (bl *BlockLedger) SetParent(group *Group)
type ConnectionLedger ¶
type ConnectionLedger struct { Source ConnectionNode `json:"from"` Target ConnectionNode `json:"to"` Id int `json:"id"` }
type ConnectionNode ¶
type Group ¶
type GroupRoute ¶
type HiddenRoutesLedger ¶
type HiddenRoutesLedger map[string]struct{}
func (HiddenRoutesLedger) MarshalJSON ¶
func (h HiddenRoutesLedger) MarshalJSON() ([]byte, error)
func (HiddenRoutesLedger) UnmarshalJSON ¶
func (h HiddenRoutesLedger) UnmarshalJSON(data []byte) error
type LibraryEntry ¶
type LibraryEntry struct { Name string `json:"name"` Source core.SourceType `json:"source"` Category []string `json:"category"` }
type LinkLedger ¶
type Pattern ¶
type Pattern struct { Label string `json:"label"` Blocks []BlockLedger `json:"blocks"` Connections []ConnectionLedger `json:"connections"` Groups []Group `json:"groups"` Sources []SourceLedger `json:"sources"` Links []LinkLedger `json:"links"` }
type ProtoBlock ¶
type ProtoConnection ¶
type ProtoConnection struct { Source ConnectionNode `json:"from"` Target ConnectionNode `json:"to"` }
type ProtoGroup ¶
type ProtoSource ¶
type Server ¶
The Server maintains a set of handlers that coordinate the creation of Nodes
func (*Server) BlockCreateHandler ¶
func (s *Server) BlockCreateHandler(w http.ResponseWriter, r *http.Request)
CreateBlockHandler responds to a POST request to instantiate a new block and add it to the Server.
func (*Server) BlockDeleteHandler ¶
func (s *Server) BlockDeleteHandler(w http.ResponseWriter, r *http.Request)
func (*Server) BlockHandler ¶
func (s *Server) BlockHandler(w http.ResponseWriter, r *http.Request)
func (*Server) BlockIndexHandler ¶
func (s *Server) BlockIndexHandler(w http.ResponseWriter, r *http.Request)
func (*Server) BlockLibraryHandler ¶
func (s *Server) BlockLibraryHandler(w http.ResponseWriter, r *http.Request)
func (*Server) BlockModifyNameHandler ¶
func (s *Server) BlockModifyNameHandler(w http.ResponseWriter, r *http.Request)
func (*Server) BlockModifyPositionHandler ¶
func (s *Server) BlockModifyPositionHandler(w http.ResponseWriter, r *http.Request)
func (*Server) BlockModifyRouteHandler ¶
func (s *Server) BlockModifyRouteHandler(w http.ResponseWriter, r *http.Request)
func (*Server) ConnectionCreateHandler ¶
func (s *Server) ConnectionCreateHandler(w http.ResponseWriter, r *http.Request)
CreateConnectionHandler responds to a POST request to instantiate a new connection
func (*Server) ConnectionDeleteHandler ¶
func (s *Server) ConnectionDeleteHandler(w http.ResponseWriter, r *http.Request)
func (*Server) ConnectionHandler ¶
func (s *Server) ConnectionHandler(w http.ResponseWriter, r *http.Request)
returns a description of the connection
func (*Server) ConnectionIndexHandler ¶
func (s *Server) ConnectionIndexHandler(w http.ResponseWriter, r *http.Request)
func (*Server) ConnectionModifyCoordinates ¶
func (s *Server) ConnectionModifyCoordinates(w http.ResponseWriter, r *http.Request)
func (*Server) CreateBlock ¶
func (s *Server) CreateBlock(p ProtoBlock) (*BlockLedger, error)
func (*Server) CreateConnection ¶
func (s *Server) CreateConnection(newConn ProtoConnection) (*ConnectionLedger, error)
func (*Server) CreateGroup ¶
func (s *Server) CreateGroup(g ProtoGroup) (*Group, error)
func (*Server) CreateLink ¶
func (s *Server) CreateLink(l ProtoLink) (*LinkLedger, error)
func (*Server) CreateSource ¶
func (s *Server) CreateSource(p ProtoSource) (*SourceLedger, error)
func (*Server) DeleteBlock ¶
func (*Server) DeleteConnection ¶
func (*Server) DeleteGroup ¶
func (*Server) DeleteLink ¶
func (*Server) DeleteSource ¶
func (*Server) DetachChild ¶
func (*Server) GroupCreateHandler ¶
func (s *Server) GroupCreateHandler(w http.ResponseWriter, r *http.Request)
CreateGroupHandler responds to a POST request to instantiate a new group and add it to the Server. Moves all of the specified children out of the parent's group and into the new group.
func (*Server) GroupDeleteHandler ¶
func (s *Server) GroupDeleteHandler(w http.ResponseWriter, r *http.Request)
func (*Server) GroupExportGistHandler ¶
func (s *Server) GroupExportGistHandler(w http.ResponseWriter, r *http.Request)
func (*Server) GroupExportHandler ¶
func (s *Server) GroupExportHandler(w http.ResponseWriter, r *http.Request)
func (*Server) GroupHandler ¶
func (s *Server) GroupHandler(w http.ResponseWriter, r *http.Request)
returns a description of the group - its id and childreen
func (*Server) GroupImportGistHandler ¶
func (s *Server) GroupImportGistHandler(w http.ResponseWriter, r *http.Request)
func (*Server) GroupImportHandler ¶
func (s *Server) GroupImportHandler(w http.ResponseWriter, r *http.Request)
func (*Server) GroupIndexHandler ¶
func (s *Server) GroupIndexHandler(w http.ResponseWriter, r *http.Request)
func (*Server) GroupModifyAllChildrenHandler ¶
func (s *Server) GroupModifyAllChildrenHandler(w http.ResponseWriter, r *http.Request)
func (*Server) GroupModifyChildHandler ¶
func (s *Server) GroupModifyChildHandler(w http.ResponseWriter, r *http.Request)
func (*Server) GroupModifyLabelHandler ¶
func (s *Server) GroupModifyLabelHandler(w http.ResponseWriter, r *http.Request)
func (*Server) GroupPositionHandler ¶
func (s *Server) GroupPositionHandler(w http.ResponseWriter, r *http.Request)
func (*Server) GroupSetRouteVisibilityHandler ¶
func (s *Server) GroupSetRouteVisibilityHandler(w http.ResponseWriter, r *http.Request)
func (*Server) LinkCreateHandler ¶
func (s *Server) LinkCreateHandler(w http.ResponseWriter, r *http.Request)
func (*Server) LinkDeleteHandler ¶
func (s *Server) LinkDeleteHandler(w http.ResponseWriter, r *http.Request)
func (*Server) LinkIndexHandler ¶
func (s *Server) LinkIndexHandler(w http.ResponseWriter, r *http.Request)
func (*Server) ListBlocks ¶
func (s *Server) ListBlocks() []BlockLedger
func (*Server) ListConnections ¶
func (s *Server) ListConnections() []ConnectionLedger
func (*Server) ListGroups ¶
func (*Server) ListSources ¶
func (s *Server) ListSources() []SourceLedger
func (*Server) ModifyBlockRoute ¶
func (*Server) MonitorMux ¶
func (s *Server) MonitorMux(id int, c chan core.MonitorMessage, query chan struct{}, quit chan struct{})
func (*Server) ResetGraph ¶
func (s *Server) ResetGraph(conn *ConnectionLedger)
ResetGraph stops/resets/starts the entire connected subgraph related to connection Conn. It is a general approach that probably touches a lot more blocks than it needs to.
TODO: This function should be replaced with language-level features that allow insight into stuck messages OR run in a more precise fashion (detecting branching/merging of streams).
func (*Server) SourceCreateHandler ¶
func (s *Server) SourceCreateHandler(w http.ResponseWriter, r *http.Request)
func (*Server) SourceDeleteHandler ¶
func (s *Server) SourceDeleteHandler(w http.ResponseWriter, r *http.Request)
func (*Server) SourceGetValueHandler ¶
func (s *Server) SourceGetValueHandler(w http.ResponseWriter, r *http.Request)
func (*Server) SourceHandler ¶
func (s *Server) SourceHandler(w http.ResponseWriter, r *http.Request)
func (*Server) SourceIndexHandler ¶
func (s *Server) SourceIndexHandler(w http.ResponseWriter, r *http.Request)
func (*Server) SourceLibraryHandler ¶
func (s *Server) SourceLibraryHandler(w http.ResponseWriter, r *http.Request)
func (*Server) SourceModifyNameHandler ¶
func (s *Server) SourceModifyNameHandler(w http.ResponseWriter, r *http.Request)
func (*Server) SourceModifyPositionHandler ¶
func (s *Server) SourceModifyPositionHandler(w http.ResponseWriter, r *http.Request)
func (*Server) SourceSetValueHandler ¶
func (s *Server) SourceSetValueHandler(w http.ResponseWriter, r *http.Request)
func (*Server) UpdateSocketHandler ¶
func (s *Server) UpdateSocketHandler(w http.ResponseWriter, r *http.Request)
type SourceLedger ¶
type SourceLedger struct { Label string `json:"label"` Type string `json:"type"` Id int `json:"id"` Source core.Source `json:"-"` Parent *Group `json:"-"` Token suture.ServiceToken `json:"-"` Position Position `json:"position"` Parameters []map[string]string `json:"params"` }
func (*SourceLedger) GetID ¶
func (sl *SourceLedger) GetID() int
func (*SourceLedger) GetParent ¶
func (sl *SourceLedger) GetParent() *Group
func (*SourceLedger) SetParent ¶
func (sl *SourceLedger) SetParent(group *Group)