summaryrefslogtreecommitdiffstats
path: root/server/red_channel.h
Commit message (Collapse)AuthorAgeFilesLines
...
* server/red_channel (all): introduce RedChannelClientAlon Levy2011-08-231-40/+69
| | | | | | | | | | | | | | | | | | | | | This commit adds a RedChannelClient that now owns the stream connection, but still doesn't own the pipe. There is only a single RCC per RC right now (and RC still means RedChannel, RedClient will be introduced later). All internal api changes are in server/red_channel.h, hence the need to update all channels. red_worker.c is affected the most because it makes use of direct access to some of RedChannel still. API changes: 1. red_channel_client_create added. rec_channel_create -> (red_channel_create, red_channel_client_create) 2. two way connection: rcc->channel, channel->rcc (later channel will hold a list, and there will be a RedClient to hold the list of channels per client) 3. seperation of channel disconnect and channel_client_disconnect TODO: usbredir added untested.
* server/red_channel: renames to use _proc postfix consistentlyAlon Levy2011-08-231-12/+12
| | | | | | | | | rename types - we use _proc suffix mostly to indicate function pointer types, use it for some function pointers that were missing it. s/channel_handle_migrate_flush_mark/channel_handle_migrate_flush_mark_proc/ s/channel_handle_migrate_data_get_serial/channel_handle_migrate_data_get_serial_proc/ s/channel_handle_migrate_data/channel_handle_migrate_data_proc/
* server/red_channel: move out_bytes_counter from Outgoing to RedChannelAlon Levy2011-03-021-3/+5
|
* server/red_channel: split Incoming/Outgoing to callback and stateAlon Levy2011-03-021-11/+23
| | | | | | | | This allows later to have the callback table under RedChannel when the callbacks actually get used by RedChannelClient. Since the cb's are identical for different clients of the same channel it makes sense to store the callback pointers in one place per channel. The rest of the incoming and outgoing struct just gets moved to RedChannelClient.
* server/red_channel: add red_channel_disconnect, use in red_workerAlon Levy2011-03-021-0/+2
| | | | replace channel_release_res in red_worker with red_channel_disconnect.
* server/red_channel: add red_channel_{,no_}item_being_sentAlon Levy2011-03-021-0/+8
|
* server/red_channel: add red_channel_send_message_pendingAlon Levy2011-03-021-0/+3
|
* server/red_channel: add red_channel_all_blockedAlon Levy2011-03-021-0/+6
|
* server/red_channel (all): add red_channel_get_headerAlon Levy2011-03-021-0/+7
| | | | | This is useful during the channel specific channel_send_pipe_item_proc callback, it allows altering or reader the header being sent.
* server/red_channel: add red_channel_get_first_socketAlon Levy2011-03-021-0/+2
| | | | | | Use in main_channel. This is just for backward portability later when multiple clients are introduced - needs to be considered (which sockets do we want to export from libspiceserver?)
* server/red_channel (+): remove red_channel_add_bufAlon Levy2011-03-021-8/+3
|
* server/red_channel (all): add red_channel_get_streamAlon Levy2011-03-021-0/+4
| | | | | use in config_socket, this makes the stream internal to the RedChannel implementation that will change later for multiple client support.
* server/red_channel (all): handle MIGRATE_DATA and MIGRATE_FLUSH_DATAAlon Levy2011-03-021-2/+18
| | | | | | | | | | Handling done in red_channel instead of per channel, using call backs for the channel specific part. Intended to reduce furthur reliance of channels on RedChannel struct. The commit makes the code harder to understand because of the artificial get_serial stuff, should later be fixed by having a joint migration header with the serial (since all channels pass it).
* server/red_channel (all): add red_channel_get_marshallerAlon Levy2011-03-021-0/+1
| | | | | | | For ussage in the send_item callback. It's only valid during this time anyway (should make it return NULL in other occasions?) No more direct usage of RedChannel.send_data.marshaller by channels.
* server/red_channel: move SET_ACK to red_channelAlon Levy2011-03-021-0/+11
|
* server/red_channel: add more ack apiAlon Levy2011-03-021-0/+3
|
* server/red_channel (all): makes red_channel_reset_send_data privateAlon Levy2011-03-021-2/+1
| | | | ready the way for handling ack messages in RedChannel.
* server/red_channe: make hold_item take a channel argAlon Levy2011-03-021-1/+1
|
* server: rename s/peer/streamMarc-André Lureau2011-02-281-3/+3
| | | | | | | | This is stylish change again. We are talking about a RedStream object, so let's just name the variable "stream" everywhere, to avoid confusion with a non existent RedPeer object. https://bugs.freedesktop.org/show_bug.cgi?id=34795
* server: s/RedsStreamContext/RedsStreamMarc-André Lureau2011-02-271-3/+3
| | | | https://bugs.freedesktop.org/show_bug.cgi?id=34795
* server/red_channel: export red_channel_sendAlon Levy2011-02-071-0/+1
|
* server/red_channel: add red_channel_receive (for red_worker)Alon Levy2011-02-071-0/+8
|
* server/red_channel: unstatic red_channel_pipe_clear (for red_worker)Alon Levy2011-02-071-0/+4
|
* server/red_channel: unstatic red_channel_push (for red_worker)Alon Levy2011-02-071-0/+6
|
* server/red_channel: add public red_channel_default_peer_on_errorAlon Levy2011-02-071-0/+2
| | | | for later use in red_worker
* server/red_channel: add red_channel_pipe_add_after (from red_worker)Alon Levy2011-02-071-0/+1
|
* server/red_channel: make client ack window configurableAlon Levy2011-02-071-0/+1
| | | | from red_worker
* server/red_channel (tunnel): change sig of red_channel_handle_messageAlon Levy2011-02-071-1/+3
| | | | for later usage with red_worker
* server/red_channel: make MAX_SEND_VEC 100Alon Levy2011-02-071-1/+1
| | | | | | | | MAX_SEND_VEC was 100 for DisplayChannel's RedChannel implementation which is being replaced with RedChannel in red_channel. So changing from 50 to 100 in red_channel (make this configurble?) - effectively increased memory usage by: (100-50)*sizeof(iovec)*(num_of_channels-2) ==(arch 64bit) 50*16*6 ~ 5k Not terrible.
* server/red_channel: reflect SpiceDataHeader fields in handle_parsed_procAlon Levy2011-02-071-2/+2
|
* server/red_channel: add red_channel_pipe_add_pushAlon Levy2011-02-071-0/+1
|
* server/red_channel: add hold_item (from red_worker)Alon Levy2011-02-071-0/+4
| | | | | | | | | | | | | hold_item called on init_send_data, matching release. This is not the behavior of red_worker - we ref++ (==hold_item) when sending the item, and --refs when releasing it, instead of only holding if the send is blocked. Note 1: Naming: hold_pipe_item is the proc name, the variable is called hold_item, this is similar to release_item/release_pipe_item naming. Note 2: All channels have empty implementation, we later use this when red_worker get's RedChannelized.
* server/red_channel: add out_bytes_counter (unused)Alon Levy2011-02-071-0/+3
|
* server/red_channel: go marshaller for outgoing (copied from red_worker)Alon Levy2011-01-131-6/+5
|
* server/red_channel: add red_channel_is_connectedAlon Levy2010-12-071-0/+2
|
* server: red_channel: add optional parser and separate incoming/outgoing ↵Alon Levy2010-12-071-0/+30
| | | | error handlers for later inputs/main channel usage
* Fix various misspellingsAlexander Larsson2010-07-081-2/+2
| | | | | | | | | | | | | letancy -> latency compund -> compound SpicedSubMessage -> SpiceSubMessage modifaiers -> modifiers massage -> message outgoiong -> outgoing AlphaBlnd -> AlphaBlend remoth -> remote modifires -> modifiers secore -> secure
* zap vd_interface.hGerd Hoffmann2010-05-191-1/+1
| | | | move over content to spice.h
* s/CoreInterface/SpiceCoreInterface/Gerd Hoffmann2010-05-191-2/+3
|
* Relicense everything from GPL to LGPL 2.1+Alexander Larsson2010-04-131-12/+12
|
* Rename symbols that were changed in spice-protocolAlexander Larsson2010-02-041-11/+11
| | | | | | This is an automatic change using: $ find -name "*.[ch]" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames $ find -name "*.cpp" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames
* tunnelYonit Halperin2009-10-181-0/+182