styx2000.protomsg.typeconv

Module for various type representation and conversions between types. Mainly for service use, however, the module contains two useful helpers for working with messages and their objects: fromStyxObject and toStyxObject. The module is not automatically connected with the import of the protoconst package, so manual connection is required to use it.

Members

Aliases

Rattach
alias Rattach = Tuple!(Size, Type, Tag, Qid)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rattach tag[2] qid[13]

Rauth
alias Rauth = Tuple!(Size, Type, Tag, Aqid)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rauth tag[2] aqid[13]

Rclunk
alias Rclunk = Tuple!(Size, Type, Tag)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rclunk tag[2]

Rcreate
alias Rcreate = Tuple!(Size, Type, Tag, Qid, Iounit)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rcreate tag[2] qid[13] iounit[4]

Rerror
alias Rerror = Tuple!(Size, Type, Tag, Ename)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rerror tag[2] ename[s]

Rflush
alias Rflush = Tuple!(Size, Type, Tag)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rflush tag[2]

Ropen
alias Ropen = Tuple!(Size, Type, Tag, Qid, Iounit)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Ropen tag[2] qid[13] iounit[4]

Rread
alias Rread = Tuple!(Size, Type, Tag, Count, Data)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rread tag[2] count[4] data[count]

Rremove
alias Rremove = Tuple!(Size, Type, Tag)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rremove tag[2]

Rstat
alias Rstat = Tuple!(Size, Type, Tag, Stat)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rstat tag[2] stat[n]

Rversion
alias Rversion = Tuple!(Size, Type, Tag, Msize, Version)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rversion tag[2] msize[4] version[s]

Rwalk
alias Rwalk = Tuple!(Size, Type, Tag, Nwqid)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rwalk tag[2] nwqid[2] nwqid*(wqid[13])

Rwrite
alias Rwrite = Tuple!(Size, Type, Tag, Count)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rwrite tag[2] count[4]

Rwstat
alias Rwstat = Tuple!(Size, Type, Tag)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Rwstat tag[2]

Tattach
alias Tattach = Tuple!(Size, Type, Tag, Fid, Afid, Uname, Aname)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Tattach tag[2] fid[4] afid[4] uname[s] aname[s]

Tauth
alias Tauth = Tuple!(Size, Type, Tag, Afid, Uname, Aname)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Tauth tag[2] afid[4] uname[s] aname[s]

Tclunk
alias Tclunk = Tuple!(Size, Type, Tag, Fid)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Tclunk tag[2] fid[4]

Tcreate
alias Tcreate = Tuple!(Size, Type, Tag, Fid, Name, Perm, Mode)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Tcreate tag[2] fid[4] name[s] perm[4] mode[1]

Tflush
alias Tflush = Tuple!(Size, Type, Tag, Tag)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Tflush tag[2] oldtag[2]

Topen
alias Topen = Tuple!(Size, Type, Tag, Fid, Mode)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Topen tag[2] fid[4] mode[1]

Tread
alias Tread = Tuple!(Size, Type, Tag, Fid, Offset, Count)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Tread tag[2] fid[4] offset[8] count[4]

Tremove
alias Tremove = Tuple!(Size, Type, Tag, Fid)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Tremove tag[2] fid[4]

Tstat
alias Tstat = Tuple!(Size, Type, Tag, Fid)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Tstat tag[2] fid[4]

Tversion
alias Tversion = Tuple!(Size, Type, Tag, Msize, Version)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Tversion tag[2] msize[4] version[s]

Twalk
alias Twalk = Tuple!(Size, Type, Tag, Fid, Fid, Nwname)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Twalk tag[2] fid[4] newfid[4] nwname[2] nwname*(wname[s])

Twrite
alias Twrite = Tuple!(Size, Type, Tag, Fid, Offset, Count, Data)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Twrite tag[2] fid[4] offset[8] count[4] data[count]

Twstat
alias Twstat = Tuple!(Size, Type, Tag, Fid, Stat)

This tuple of types mimics the structure of the corresponding message, which looks like this: size[4] Twstat tag[2] fid[4] stat[n]

Functions

fromStyxObject
auto fromStyxObject(StyxObject obj)

Casts from StyxObject class

toStyxObject
auto toStyxObject(T obj)

Casts to StyxObject class

Templates

Tuple
template Tuple(E...)

Alias for type tuple

isStyxObject
template isStyxObject(T)

Is one of StyxObject class ?

Meta

Authors

Oleg Bakharev, Ilya Pertsev