Show / Hide Table of Contents

Namespace Eco.Shared.View

Classes

ApplyOnViewAttribute

Tag interfaces with this to make them add themselves when autogenning views. Useful for interfaces that are shared among server/client in shared code.

EventSubscription

Subscription for ISubscribableEvent.

NoOpPropertySubscription

No operation Eco.Shared.View.PropertySubscription. Will do nothing on callback. May be used as replacement for removed subscription during subscription list processing. I.e. we have list [sub1, sub2] and sub2 removed in sub1 callback. If we just remove it then list iteration will fail with System.IndexOutOfRangeException when accessing index 1 of removed sub2. To avoid this we can just replace removed subscription with NoOpPropertySubscription until list processing finish and then remove all no-op subscriptions from the list.

ObservableExtensions

Extension methods for System.IObservable`1.

PropertySubscriptionBase

Base class for all property subscriptions.

SubscribableEvent<T>

Typed ISubscribableEvent. Not thread-safe. Simple wrapper around T delegate. Can be used with EventSubscription.

SubscribableEventExtensions

"Syntax sugar" for SubscribableEvent<T>.

Subscriptions

Simple subscriptions collection which may be used for holding subset of subscriptions for class. It also may be used as ISubscription to keep sub-collection of subscriptions and unsubscribed together with main collection.

SubscriptionsExtensions

Extension methods for ISubscriptions<TSubscriptionsList>.

SyncFlags

View

View.ViewData

ViewClassFlags

ViewClassInfo

Represents the 'type' data about a server type, something which is also represented as a view. The server builds these viewclassinfos and sends them to the client, which can then use them for many purposes. Any information about a type can be transmitted from server to client on this class.

ViewController

ViewController.ToBsonDelegate

ViewManager

Manages Views on client. Read more details about View System in ViewSystem.md.

ViewMapper

ViewMemberFlags

ViewMemberInfo

Contains data about an individual member (property or method) that is accessible on the server from the client. Its analgous to a MemberInfo reflection class, it communicates to the client the type data on properties of a ViewClassInfo.

ViewRPC

ViewRPC.RPCFlags

ViewSelectorFlags

WeakPropertySubscription

// Weak reference wrapper class for delegate storage without user defined removal.

Interfaces

IObservable

Interface for objects which may be subscribed (observed) for property changes.

IPropertySubscription

Interface for property change subscriptions. Holds information about observable subject, invocation target and method. May be invoked to notify subscription.

ISubscribableEvent

Interface for subscribable events (i.e. SubscribableEvent<T>). Declared as interface so all classes may work with common interface no matter which type of wrapped event.

ISubscription

Interface for all subscription classes. May be either Subscriptions for subscriptions group or IPropertySubscription.

ISubscriptions

Untyped version of ISubscriptions<TSubscriptionsList> with UnsubscribeAll() and ReleaseSubscriptionsList() methods which may be useful for destroy/dispose methods which unaware of subscriptions list type.

ISubscriptions<TSubscriptionsList>

This is a replacement for IAnonymousSubscriber. This simplifies Subscription management, because you can use it with extension methods for easy subscription management.

ISubscriptionsList

Base interface for subscriptions lists (may be thread-safe or thread-unsafe list implementation). It also may support pooling.

ISupportNestedSubscriptions<TNestedSubscriptionsList>

Interface which may be implemented for nested subscriptions support.

IThreadUnsafeSubscriptions

Thread-unsafe implementation of ISubscriptions<TSubscriptionsList>. Suitable for client code where all subscriptions happens in main-thread.

IView

IViewController

ViewManager.IDataCache

☀
☾
In This Article
Back to top
Copyright (c) Strange Loop Games 2021
☀
☾