33 lines
580 B
D
33 lines
580 B
D
|
import std.exception;
|
||
|
|
||
|
import msgpack;
|
||
|
|
||
|
enum MessageType {
|
||
|
request = 0,
|
||
|
response = 1,
|
||
|
notify = 2
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Thrown when the wire protocol could not be parsed.
|
||
|
*/
|
||
|
class ProtocolException : Exception {
|
||
|
mixin basicExceptionCtors;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Thrown when the other endpoint reports an error.
|
||
|
*/
|
||
|
class RPCException : Exception {
|
||
|
private:
|
||
|
Value m_value;
|
||
|
public:
|
||
|
this(Value value, string file = __FILE__, int line = __LINE__, Throwable next = null) {
|
||
|
super(value.as!string, file, line, next);
|
||
|
this.m_value = value;
|
||
|
}
|
||
|
|
||
|
@property Value value() { return m_value; }
|
||
|
|
||
|
}
|