bool FireFirstCommand(CommandInfo info) { if (info == null) { return false; } commands.Enqueue(info); if (commands.Count == 1) { if (State == ConnectionState.ParsePackets) { Socket.Write(info.Packet); } return true; } return false; }
public QueryCommand Query(string queryString) { packetBuilder.NewPacket(); packetBuilder.WriteByte((byte)DatabaseCommand.QUERY); packetBuilder.WriteStringNoNull(queryString); var info = new CommandInfo() { Callback = new QueryCommand(), Packet = packetBuilder.Serialize(0) }; FireFirstCommand(info); return info.Callback; }