// // Un-marshal an object instance from the data input stream // public override void LooseUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn) { base.LooseUnmarshal(wireFormat, o, dataIn); PartialCommand info = (PartialCommand)o; info.CommandId = dataIn.ReadInt32(); info.Data = ReadBytes(dataIn, dataIn.ReadBoolean()); }
// // Un-marshal an object instance from the data input stream // public override void TightUnmarshal(OpenWireFormat wireFormat, Object o, BinaryReader dataIn, BooleanStream bs) { base.TightUnmarshal(wireFormat, o, dataIn, bs); PartialCommand info = (PartialCommand)o; info.CommandId = dataIn.ReadInt32(); info.Data = ReadBytes(dataIn, bs.ReadBoolean()); }
// // Write the booleans that this object uses to a BooleanStream // public override int TightMarshal1(OpenWireFormat wireFormat, Object o, BooleanStream bs) { PartialCommand info = (PartialCommand)o; int rc = base.TightMarshal1(wireFormat, info, bs); bs.WriteBoolean(info.Data != null); rc += info.Data == null ? 0 : info.Data.Length + 4; return(rc + 4); }
// // Write a object instance to data output stream // public override void TightMarshal2(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut, BooleanStream bs) { base.TightMarshal2(wireFormat, o, dataOut, bs); PartialCommand info = (PartialCommand)o; dataOut.Write(info.CommandId); if (bs.ReadBoolean()) { dataOut.Write(info.Data.Length); dataOut.Write(info.Data); } }
// // Write a object instance to data output stream // public override void LooseMarshal(OpenWireFormat wireFormat, Object o, BinaryWriter dataOut) { PartialCommand info = (PartialCommand)o; base.LooseMarshal(wireFormat, o, dataOut); dataOut.Write(info.CommandId); dataOut.Write(info.Data != null); if (info.Data != null) { dataOut.Write(info.Data.Length); dataOut.Write(info.Data); } }
public IEnumerable <string> CompleteCommand([FromBody] PartialCommand command) { if (command.Args != null && command.Args.Count != 0) { return(Enumerable.Empty <string>()); } // Method completion. ActorDescription actor; if (!InvocationController.Actors.Value.TryGetValue(command.Kind, out actor)) { return(Enumerable.Empty <string>()); } var results = new List <string>(); var method = command.Method ?? string.Empty; results.AddRange(actor.Methods.Where(_ => _.Value.Visible && _.Key.StartsWith(method, StringComparison.OrdinalIgnoreCase)).Select(_ => _.Key)); return(results); }