private void InitSocket() {
Exec(Request.Create(RequestCommand.Use).AppendArgument(DEFAULT_TUBE).ExpectStatuses(ResponseStatus.Using));
var client = ((IWatchedTubeClient)this);
var tubes = new HashSet<string>();
foreach(var tube in client.ListWatchedTubes()) {
tubes.Add(tube);
}
if(tubes.Contains(DEFAULT_TUBE)) {
tubes.Remove(DEFAULT_TUBE);
} else {
client.Watch(DEFAULT_TUBE);
}
var watched = 1;
foreach(var tube in tubes) {
watched = client.Ignore(tube);
}
if(watched != 1) {
_socket.Dispose();
throw new InitException();
}
}