本文整理汇总了Golang中github.com/gocircuit/circuit/use/errors.Unpack函数的典型用法代码示例。如果您正苦于以下问题:Golang Unpack函数的具体用法?Golang Unpack怎么用?Golang Unpack使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Unpack函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Recv
func (y YValve) Recv() (_ io.ReadCloser, err error) {
r := y.X.Call("Recv")
if err = errors.Unpack(r[1]); err != nil {
return nil, err
}
return xio.NewYReadCloser(r[0]), nil
}
开发者ID:hanjin8307,项目名称:circuit,代码行数:7,代码来源:x.go
示例2: Send
func (y YValve) Send() (_ io.WriteCloser, err error) {
r := y.X.Call("Send")
if err = errors.Unpack(r[1]); err != nil {
return nil, err
}
return xio.NewYWriteCloser(r[0]), nil
}
开发者ID:hanjin8307,项目名称:circuit,代码行数:7,代码来源:x.go
示例3: Profile
func (y YServer) Profile(name string) (rc io.ReadCloser, err error) {
r := y.X.Call("Profile", name)
if err := errors.Unpack(r[1]); err != nil {
return nil, err
}
return xio.NewYReadCloser(r[0]), nil
}
开发者ID:keryoo,项目名称:circuit,代码行数:7,代码来源:x.go
示例4: Start
func (y YCmd) Start() (stdin io.WriteCloser, stdout, stderr io.ReadCloser, err error) {
r := y.Call("Start")
err = errors.Unpack(r[3])
if err != nil {
return nil, nil, nil, err
}
return xyio.NewYWriteCloser(r[0]), xyio.NewYReadCloser(r[1]), xyio.NewYReadCloser(r[2]), nil
}
开发者ID:hanjin8307,项目名称:circuit,代码行数:8,代码来源:exec.go
示例5: Read
func (y YReader) Read(p []byte) (n int, err error) {
r := y.Call("Read", len(p))
q, err := unpackBytes(r[0]), errors.Unpack(r[1])
if len(q) > len(p) {
panic("corrupt i/o server")
}
copy(p, q)
return len(q), err
}
开发者ID:prodigeni,项目名称:circuit,代码行数:9,代码来源:io.go
示例6: Tail
func (y YShell) Tail(name string, arg ...string) (stdin io.WriteCloser, stdout, stderr io.ReadCloser, err error) {
ig := make([]interface{}, 0, len(arg))
for _, a := range arg {
ig = append(ig, a)
}
r := y.Call("Tail", ig...)
err = errors.Unpack(r[3])
if err != nil {
return nil, nil, nil, err
}
return xyio.NewYWriteCloser(r[0]), xyio.NewYReadCloser(r[1]), xyio.NewYReadCloser(r[2]), nil
}
开发者ID:hanjin8307,项目名称:circuit,代码行数:12,代码来源:shell.go
示例7: Read
func (y YReader) Read(p []byte) (n int, err error) {
r := y.Call("Read", len(p))
q, err := unpackBytes(r[0]), errors.Unpack(r[1])
if len(q) > len(p) {
panic("corrupt i/o server")
}
copy(p, q)
if err != nil && err.Error() == "EOF" {
err = io.EOF
}
return len(q), err
}
开发者ID:keryoo,项目名称:circuit,代码行数:12,代码来源:io.go
示例8: Make
func (y YTerminal) Make(kind string, arg interface{}) (yelm interface{}, err error) {
r := y.X.Call("Make", kind, arg)
if err = xerrors.Unpack(r[1]); err != nil {
return nil, err
}
switch kind {
case Chan:
return valve.YValve{r[0].(circuit.X)}, nil
case Proc:
return proc.YProc{r[0].(circuit.X)}, nil
}
return nil, errors.New("element kind not supported")
}
开发者ID:prodigeni,项目名称:circuit,代码行数:13,代码来源:x.go
示例9: Read
func (y YReader) Read(p []byte) (n int, err error) {
defer func() {
// println(fmt.Sprintf("yread n=%d err=%v r=%v", n, err, recover()))
if r := recover(); r != nil {
println(fmt.Sprintf("r=%v", r))
os.Exit(1)
}
}()
r := y.Call("Read", len(p))
q, err := unpackBytes(r[0]), errors.Unpack(r[1])
if len(q) > len(p) {
panic("corrupt i/o server")
}
copy(p, q)
if err != nil && err.Error() == "EOF" {
err = io.EOF
}
return len(q), err
}
开发者ID:archa347,项目名称:circuit,代码行数:19,代码来源:io.go
示例10: Make
func (y YTerminal) Make(kind string, arg interface{}) (yelm interface{}, err error) {
r := y.X.Call("Make", kind, arg)
if err = xerrors.Unpack(r[1]); err != nil {
return nil, err
}
switch kind {
case Chan:
return valve.YValve{r[0].(circuit.X)}, nil
case Proc:
return proc.YProc{r[0].(circuit.X)}, nil
case Docker:
return docker.YContainer{r[0].(circuit.X)}, nil
case OnJoin:
return pubsub.YSubscription{r[0].(circuit.X)}, nil
case OnLeave:
return pubsub.YSubscription{r[0].(circuit.X)}, nil
}
return nil, errors.New("element kind not supported")
}
开发者ID:herokai,项目名称:circuit,代码行数:19,代码来源:x.go
示例11: auth
func (d *Dialer) auth(addr n.Addr, conn *blend.Conn) error {
defer conn.Close()
if err := conn.Write(&HelloMsg{
SourceAddr: d.dialback,
TargetAddr: addr,
}); err != nil {
return err
}
msg, err := conn.Read()
if err != nil {
return err
}
switch q := msg.(type) {
case *WelcomeMsg:
return nil
case *RejectMsg:
return errors.NewError("dial rejected by remote (%s)", errors.Unpack(q.Err))
}
return errors.NewError("unknown welcome response")
}
开发者ID:prodigeni,项目名称:circuit,代码行数:20,代码来源:dialer.go
示例12: Set
func (y YNameserver) Set(rr string) error {
r := y.X.Call("Set", rr)
return errors.Unpack(r[0])
}
开发者ID:keryoo,项目名称:circuit,代码行数:4,代码来源:x.go
示例13: Run
func (y YCmd) Run() error {
return errors.Unpack(y.Call("Run"))
}
开发者ID:hanjin8307,项目名称:circuit,代码行数:3,代码来源:exec.go
示例14: Wait
func (y YCmd) Wait() error {
return errors.Unpack(y.Call("Wait"))
}
开发者ID:hanjin8307,项目名称:circuit,代码行数:3,代码来源:exec.go
示例15: Rejoin
func (y YServer) Rejoin(addr string) error {
return errors.Unpack(y.X.Call("Rejoin", addr)[0])
}
开发者ID:keryoo,项目名称:circuit,代码行数:3,代码来源:x.go
示例16: unpack
func unpack(stat Stat) Stat {
stat.Exit = errors.Unpack(stat.Exit)
return stat
}
开发者ID:hanjin8307,项目名称:circuit,代码行数:4,代码来源:x.go
示例17: Close
func (y YValve) Close() error {
return errors.Unpack(y.X.Call("Close")[0])
}
开发者ID:hanjin8307,项目名称:circuit,代码行数:3,代码来源:x.go
示例18: Wait
func (y YProc) Wait() (Stat, error) {
r := y.X.Call("Wait")
return unpack(r[0].(Stat)), errors.Unpack(r[1])
}
开发者ID:hanjin8307,项目名称:circuit,代码行数:4,代码来源:x.go
示例19: Close
func (y YCloser) Close() error {
return errors.Unpack(y.Call("Close")[0])
}
开发者ID:archa347,项目名称:circuit,代码行数:3,代码来源:io.go
示例20: Write
func (y YWriter) Write(p []byte) (n int, err error) {
r := y.Call("Write", p)
return r[0].(int), errors.Unpack(r[1])
}
开发者ID:archa347,项目名称:circuit,代码行数:4,代码来源:io.go
注:本文中的github.com/gocircuit/circuit/use/errors.Unpack函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论